[0223] けた落ち

平成12年度秋期 (旧)第2情報処理技術者試験より
浮動小数点数の加減算を実行したとき、けた落ちが発生する演算はどれか。ここで、有効けたは、仮数部3けたに対して,演算は6けたで行われるものとする。
0.123×102 + 0.124×10-2
0.234×105 - 0.221×102
0.556×106 + 0.552×104
0.556×107 - 0.552×107

正解

解説

 情報の誤差に関する問題です。

 情報の誤差にはさまざまな種類があり、桁落ちもそのひとつです。桁落ち以外では、情報落ち、丸め誤差といったあたりが代表的なものになります。ますは、それぞれの説明をしていきます。

■ 桁落ち

 桁落ちとは、ほぼ同じ値の 2つの数値を減算したときに、有効桁数が少なくなってしまう現象のことです。

 コンピュータ内部で浮動小数点を扱う場合、値は、符号部、指数部、仮数部に分けて保管されています。一般的に、浮動小数点は、仮数部の最上位桁の値が 0 にならないよう指数部が調整されます。演算を行うなどして浮動小数点の値が変化しても、データは常に正規化され、このような状態になっています。



 ほぼ同じ値の 2つの数値を減算すると 0 に近い値になりますが、この時点では、最上位桁から 0 以外の数値が現れる桁のあたりまでは、計算結果から導かれた信頼できる数値(有効数値)とみなすことができます。ただし、ここで計算結果を正規化してしまうと、仮数部の最上位桁の値が 0 にならないよう調整されてしまうため、上位の桁が省略されてしまいます。つまり、信頼できる上位の 0 の桁がすべて省かれて、有効桁数が減少することになります。



■ 情報落ち

 情報落ちとは、大きな値と小さな値を加減算したときに、小さな値が無視されてしまう現象のことです。

 コンピュータで扱う浮動小数点では、仮数部に保持できる桁数があらかじめ決められています。そのため、大きな値と小さな値を加減算すると、有効な数字をもった桁が多くなりすぎるため、正規化する際に下部の桁が切り捨てられてることになります。



■ 丸め誤差

 丸め誤差とは、値のある桁で丸め操作(四捨五入、切捨てや切り上げ)が行われることにより、それ以降の桁に誤差を含んでしまう現象のことです。


 それでは、選択肢をみていきましょう。


 0.123×102 + 0.124×10-2
演算結果は 0.123012 × 102、正規化すると 0.123 × 102 で有効な桁数は 3桁のままです。

 0.234×105 - 0.221×102
演算結果は 0.234221 × 105、正規化すると 0.234 × 105 で有効な桁数は 3桁のままです。

 0.556×106 + 0.552×104
演算結果は 0.56152 × 106、正規化すると 0.561 × 106 で有効な桁数は 3桁のままです。

 0.556×107 - 0.552×107
演算結果は 0.004 × 107、正規化すると 0.400 × 105 なので有効な桁数は 3桁から 1桁に減ります。


 以上より、エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題