【用語】桁落ち誤差とは/cancellation-of-significant-digits

数値演算と誤差

コンピュータでは限られた桁数でデータを表現するため、表現しきれない数値が出てくることがあります。

このようなことから真の値と計算結果で出てくる数値に誤差が出てしまうことがある、その誤差の一つが桁落ち誤差です。

以下、具体的に説明します。

桁落ち誤差とは

値がほぼ等しい二つの数値の差を求めた場合、有効数字の桁数(有効桁数)が減ってしまうことにより起こる誤差。

簡潔にいうと「同じくらいの数字同士、引き算したらめっちゃ桁数減った」ことにより起こる誤差です。

例 123.456-123.455=0.001     
初めより極端に桁が減った!! (有効桁数が6桁だったのに計算結果は1桁)
コンピュータで浮動小数点を扱う際、有効桁数より減った数値の部分を0で埋めて表現するため、0.00100000×10-2のような形になります。
そのため、この桁落ち誤差になっている計算結果を使って掛け算などの計算を続けていくと誤差が蓄積し、かなりの誤差が生じる場合もあります。
桁落ちを回避するためには「計算の順序を変える、計算式を工夫する」などによりほぼ等しい数値同士の引き算を回避する方法などがあります。

いつ必要になる?

プログラミングの場面で何度も出てくるようなものではないですが、よきせぬエラーの発生につながることもあるため知っておくべきです。

またIT系資格である基本情報技術者試験や応用情報技術者試験などでは試験内容に誤差の問題がそこそこでてくるため、受験する場合は数値の誤差は全般知っておくべきです。

 

 

基礎用語の最新記事8件