● 誤差について

コンピュータは有限桁演算を行いますので、計算された結果は必ずしも正確な数値になるとは限りません(人間の手計算よりも確実性はあるが、「コンピュータだから正確」とは言えない)。

通常、コンピュータ上で扱える範囲を超えた数値は、切り捨てや切り上げ、または四捨五入で丸められます。
    367 / 3  →  122.333333333333333333…
                                    切り捨て
この丸め処理により、真の計算結果との誤差が発生します。

また、2進数で表現しきれない実数を扱った場合にも、誤差が生じます。数値は通常、コンピュータにとって都合の良い 2進数に変換され記憶・演算・操作されますが、10進数の実数は 2進数で正確に表現することが難しいため、表現しきれなかった部分が誤差となって現れます。

その他にも、桁が違う値(有効桁に届かない値)を加減算する場合や、非常に近い数値同士を減算した場合等に誤差が発生する事があります。

              0.06252  →  0.06252000000000001
     6.532e+20 + 1000  →  6.532e+20
         1.000001 - 1  →  9.999999999177334E-007
                      ・
                      ・
                      ・