丸め誤差、打ち切り誤差、情報落ち、桁落ちの意味と例

最終更新日 2019/03/31

丸め誤差、打ち切り誤差、情報落ち、桁落ちの意味と例を解説します。情報落ちの対策も紹介します。

丸め誤差とは

丸め誤差とは、ある桁以降を無視することによって生じる誤差のことです。

丸め誤差の例

「$0.1212121212$ を $0.12$ とみなして計算する」
のように、桁数が多い小数を、途中で四捨五入したり、切り捨て・切り上げする場合。

「円周率を $3.14$ とみなして計算する」
のように、無限に続く小数を有限桁に丸める場合。

打ち切り誤差とは

打ち切り誤差とは、無限級数のある項以降を無視することによって生じる誤差のことです。

打ち切り誤差の例

「$1+\dfrac{1}{2}+\dfrac{1}{4}+\dfrac{1}{8}+\dots$ という無限級数を計算したいが、$\dfrac{1}{8}$ までで打ち切る」

※計算に使える時間は有限なので、無限級数を1項ずつ計算する場合には、必ずどこかで打ち切る必要があります。

情報落ちとは

情報落ちとは、絶対値が大きく異なる数を足したり引いたりすることで、小さい方の情報が無視されてしまう現象のことです。

情報落ちの例

「$1.0000+0.0001$ を計算したいが、有効数字5桁で計算すると計算結果が $1.0000$ になってしまい、足し算の意味がない」

情報落ちの対策

絶対値の小さい順に計算していくことで、情報落ちを防ぐことができる場合があります。
例えば、
$1.0000+0.0001+0.0001+\dots +0.0001$
のように、$1$ に $0.0001$ を $10000$ 回足し算する場合を考えます。

理論的な計算結果は $2.0000$ ですが、左から有効数字5桁で順々に計算していくと、情報落ちのせいで常に $1.0000$ のままです。

これを、数字が小さい方から順に、
$0.0001+0.0001+\dots +0.0001+1.0000$
と並べ替えて左から有効数字5桁で順々に計算していくと、きちんと $0.0001$ ずつ増えていき、最終的に
$1.0000+1.0000=2.0000$
と正しく計算できます。

桁落ちとは

桁落ちとは、近い数を引き算することで有効数字が少なくなる現象のことです。

桁落ちの例

「$1.2345-1.2344$ を計算したいが、答えは $0.0001$ になってしまい、有効数字が5桁から1桁に減少する」
この $0.0001$ を、強引に有効数字5桁のように表すと、$1.0000\times 10^{-4}$ となりますが、小数点以下の4つの $0$ は意味が無い $0$ です。

このような状況を「0埋めされる」と言うことがあります。実際、コンピュータでは浮動小数点数を使って計算を行っているため、0埋めが発生します。

参考:桁落ちの回避

次回は 2の補数、1の補数の意味と負数の変換方法 を解説します。

ページ上部へ戻る