私はOCamlの中算術精度の泉奇妙な問題を抱えています。見てください:
# 1.1+.2.2;;
- : float = 3.30000000000000027
これは、私が行うときに起こります:something.1 + something.2。誰かがそれを試してもらえますか?
私はOCamlの中算術精度の泉奇妙な問題を抱えています。見てください:
# 1.1+.2.2;;
- : float = 3.30000000000000027
これは、私が行うときに起こります:something.1 + something.2。誰かがそれを試してもらえますか?
これは浮動小数点値を使用する現実です。 1.1は2桁の10進数で正確に表現されますが、この値を表すには無限の2進数が必要です。有限のビット数でバイナリに1.1を格納するので、丸め誤差が発生します。
これは不思議ではない、浮動小数点数に固有のものです。あなたは1000番目の(球場の)ユーザーがこれにつまずいています。 – delnan
[各コンピュータ科学者が浮動小数点演算について知っておくべきこと](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) –