アドベントカレンダー 8日目
たまには、こんなネタも。
45.2 - 38.8 はいくつでしょうか?
では、計算してみましょう。
結果は
6.40000000000001
です。
こんなに簡単んそうな計算結果でも誤差が出てしまいます。
これは、IEEE 754という数値計算の標準規格を利用しているものなら
全て発生する問題だそうで、詳細を知りたい場合は以下サイトなんかを
眺めるとよいと思います。
第4回 演算誤差の正体
たまには、こんなネタも。
45.2 - 38.8 はいくつでしょうか?
では、計算してみましょう。
Option Explicit Sub SampleCode() Dim a As Double Dim b As Double a = 45.2 b = 38.8 Debug.Print a - b End Sub
結果は
6.40000000000001
です。
こんなに簡単んそうな計算結果でも誤差が出てしまいます。
これは、IEEE 754という数値計算の標準規格を利用しているものなら
全て発生する問題だそうで、詳細を知りたい場合は以下サイトなんかを
眺めるとよいと思います。
第4回 演算誤差の正体
0 件のコメント:
コメントを投稿