「intとfloat 〜小数をオススメしない理由」というタイトルで社内勉強会を開催しました。浮動小数点数に関する一般論とPHPでの実例についてです。最初に覚えた言語がPHPなどのスクリプト言語だったりすると、案外このあたりの知識が手薄なものです。簡単すぎる内容かとも思いましたが、意外と好評でした。
まとめ
- 浮動小数点数は不要なら使わない
- 整数で代用できないか検討
- 理解しないと危険
- 大きすぎる数も注意
- 無限に正確に表せるわけではない
ムービー
発表資料
内容の補足など
録画を切ってから質問が出たのですが、PHPのfloat型というのはCで言うところのdouble(IEEE64bit浮動小数点数)です。Cで言うところのfloat(IEEE32bit浮動小数点数)はPHPには存在しません。この辺もアーキテクチャやコンパイラに依存する部分がある話なので、大抵の環境ではそうだと思いますよ、ということですけど。
更に余談になりますが、PHPで型キャストをする場合に、(float)と書く代わりに(double)と書くこともできます。

コメント / トラックバックはありません
コメントする