丸め誤差
コンピュータでは2進数で数字を理解しています。
整数の場合は問題ないのですが、小数になると有限の桁で表せないものが出てきます。
例えば10進数の0.1は2進数で表すと0.001100110011…と無限に続く循環小数になります。
そんな時、コンピュータはある桁で丸め処理を行います。
(四捨五入したり、繰り上げたり繰り下げたりと方法はいくつかありますので、問題をよく見ましょう)
それによって、小さな誤差が生まれることがあります。
この誤差を丸め誤差と呼びます。
桁落ち誤差
また、近い大きさの小数同士で引き算をすると有効数字が減る現象が生じます。
例として10進数で123.456-123.455について考えてみましょう。
これらはどちらも有効数字6桁です。
これらの数字をどちらも浮動小数点数で表して計算してみます。
1.23456×102 – 1.23455×102 = 1×10-3
なんと有効数字が1桁になってしまいました!
このことによって生じる誤差を桁落ち誤差といいます。
まとめ
いかがだったでしょうか?
2進数で表していたり、有限な桁数しか扱えないコンピュータではどうしても誤差が出てしまうことがお分かりいただけたと思います。
注目
小数を2進数で表したときに有限桁で表せない場合、丸め込みによって生じる誤差を丸め誤差と呼ぶ。
近い小数同士で引き算をした際に有効数字が減る現象が起きる。これを桁落ちと呼び、このことから生じる誤差を桁落ち誤差と呼ぶ。