惰性Log

技術系の話題を中心に書いています

コンピュータの計算誤差の種類のまとめ

もう記憶にないが、以前何かしらの講義のメモを下書きに残しておいたらしい。勿体ないので公開する。
内容的に恐らく1年次の時の講義だろう。

計算誤差

代入誤差

 2進数で表せない値の代入  0.1, π, e(ネイピア数)など

丸め誤差

 有限桁の小数の範囲を超えるものを扱う際の切り捨て、切り上げ、0捨1入などによって有限桁に納める際に生じる誤差

打ち切り誤差

 計算を何らかの理由により途中で終了させた場合の誤差

オーバーフロー(overflow)

 数値の絶対値が大きすぎて、表現可能な範囲を超え生じる誤差。ゲームで経験値が65535を超えると0になるなど。

アンダーフロー(underflow)

 数値の絶対値が小さすぎて、表現ができないときに生じる誤差。floatで限りなく0に近い値など。

情報落ち

 絶対値の差が大きな2つの数の加減算で、絶対値の小さい方が無視され生じる誤差。

桁落ち

 値の近い2つの数の減算によって、有効数字の桁数が急激に減少し生じる誤差。