フリーキーズ | 独学プログラミング

丸め誤差とは

最終更新日

丸め誤差とは、コンピュータの数値記憶システムの制限により、正確な数値を表現できない場合や、その制限内に収まるように数値を丸める場合に発生する誤差の一種です。コンピューターなどのデジタル機器は、有限の桁数やビット数で数値を表現することが多いため、小数点以下が無限に広がる実数を扱う場合や、算術演算を行う場合に不正確な数値になることがあります。

定規を用いた例

丸め誤差を理解するために、例えを用いて説明しましょう。センチメートルとミリメートルの印がついた定規で、物の長さを測っているとします。物体の長さが2つのミリメートルのマークの間にある場合、測定値をミリメートル単位に丸める必要があります。このとき、対象物の本当の長さと丸めた長さが正確に一致しないため、小さな誤差が生じます。

表現上の誤差

コンピュータは実数を「浮動小数点表示」と呼ばれるシステムで表現することが多いのですが、その精度は限定的です。例えば、1/3という数字を考えてみましょう。この数字の10進数展開は0.3333...と繰り返されます。コンピュータで表現する場合、この数字は近似値である0.3333333として格納されるかもしれません。この場合、1/3の真の値は格納された値と正確に一致しないため、小さな丸め誤差が発生します。

算術演算エラー

四捨五入された数値で算術演算を行うと、四捨五入の誤差が蓄積され、大きな誤差につながる可能性があります。例えば、0.1と0.2の和をコンピュータで計算する場合を考えてみましょう。浮動小数点表示の限界から、これらの数値は0.1000001と0.199999のような近似値として保存されるかもしれません。これを足すと、正確な値である0.3ではなく、0.2999999となります。

まとめ

まとめると、丸め誤差とは、コンピュータの数値記憶システムの制限によって数値を正確に表現できない場合、または制限内に収まるように数値を丸める場合に発生するエラーの一種です。丸め誤差は、数値の表現や算術演算の際に発生し、それが蓄積されることで計算が著しく不正確になる可能性があります。