基本的な知識を復習しつつAP対策するシリーズ。
この記事では誤差についてまとめます。
桁落ち
桁落ちはほぼ等しい数値の差を求める際に生じる誤差のことです。
例えばいま次のような計算を考えます。
このように、ほぼ等しい値を減算すると有効桁数が変わってしまうので、計算結果の正確さが保証されず誤差となります。
情報落ち
絶対値が大きい数値と小さい数値を加算・減算した時に小さい数値が結果に反映されない誤差のことです。
例えば0.3 + 0.00003 = 0.30003 となりますが、有効数字を3桁とすると0.300となり小さい方の数値が反映されません。
このような考え方で浮動小数点の仮数部のビット数には上限があるため、あまりに絶対値に差があると小さい方の値が計算結果に反映されません。
オーバーフロー(桁あふれ)
論理シフト・算術シフトの記事で書いたので割愛します。
丸め誤差
四捨五入や切り上げなどによる誤差のことです。
打ち切り誤差
ずっと続く計算を途中で打ち切ることによる誤差のことです。
練習問題
1.絶対値が大きい数値と小さい数値を加算・減算した時に小さい数値が結果に反映されない誤差は?
情報落ち
2.ほぼ等しい二つの数値の差を求めたときに有効桁数が減ることによって発生する誤差は?
桁落ち
3.数値の計算処理を一定のところで打ち切ったことによる誤差は?
打ち切り誤差
4.四捨五入や切り上げなどによる誤差は?