技術系のメールマガジンでこんな問題が出てきました。
Q:浮動小数点形式で表現された数値の丸め誤差とは?
A:数表現のけた数に限度があるので、最下位けたより小さい部分について四捨五入や切上げ、切捨てを行うことによって生じる誤差である。
PHPのプログラムを書きながら、PHPの配列の要素に少数を入れるとどうなるか、ちょっと疑問になって調べて見ました。
Q:PHPで$test[0.69]のように配列の要素に小数点を入れるとどうなるでしょう?
A:浮動小数点数値を指定すると、 その値はintegerに切り詰められます。
---
PHP: 配列 - Manual
http://php.benscom.com/manual/ja/language.types.array.php
key は、整数 または 文字列です
あるキーが、整数の標準的な表現形式である場合、 そのように解釈されます
(つまり、"8" は 8 として解釈されます。一方、 "08" は "08" として解釈されます)。
key に浮動小数点数値を指定すると、 その値は integer に切り詰められます。
PHP においては添字配列と連想配列の間に違いはなく、配列型は 1 つだけで、
整数または文字列のインデックスを使用することができます。
---
これを知っているからと何かに利用できるかと言われれば、かなり???です。
このことをプログラミングに何かで利用してもそれはトリッキーなプログラムになるのでお勧めできないです。
でも、何かに利用できないかなと考えるのは楽しい作業だと思うので利用例を思いついたら紹介します。
コメントする