平成20年 春期 基本情報技術者 午前 問5
浮動小数点表示の仮数部が23ビットであるコンピュータで計算した場合、情報落ちが発生する計算式はどれか。
ここで、( )2内の数は2進数とする。
| ア | (10.101)2×2−16 − (1.001)2×2−15 |
| イ | (10.101)2×216 − (1.001)2×216 |
| ウ | (1.01)2×218 + (1.01)2×2−5 |
| エ | (1.001)2×220 + (1.1111)2×221 |
【キーワード】
・浮動小数点
・情報落ち
【キーワードの解説】
- 浮動小数点
小数の表現の方法の一つで、符号と指数部、仮数部に分けて数値を記憶する方法である。
32ビットの浮動小数点で、仮数部が23ビットの場合、下図のようになる。

このときの浮動小数点の値は、
(−1)符号×仮数部×基数指数部
になる。(基数:2進数なら2、10進数なら10です。) - 情報落ち
コンピュータで扱える数値の有効けた数に限りがあることで発生する誤差の一つで、絶対値の大きい数値と、絶対値の小さい数値を加減算したときに、絶対値の小さい数値が無視されてしまうことです。
100,000,000(1億)と、これに1を加算した100,000,001が何百万(有効けた数3けた)かを考えると、共に100百万になり加算した1が無視されてしまいます。
スポンサードリンク
コンピュータで発生する誤差についての問題です。
コンピュータでは数値の扱えるサイズ(有効けた数)に限りがあるので、様々な形で誤差が発生します。(誤差が発生するは(浮動)小数点の演算を行ったときです。)
この誤差についてどういった場合で生じるかを理解して、誤差が積み重なって得られた結果が誤差だらけという事態にならないように、ソフトウェアのアルゴリズムを検討する必要があります。
コンピュータで小数点の演算を行うときに誤差の少ないアルゴリズムを考えることは非常に大切です。
そのためには、どういった場合にどういった誤差が発生するのかを理解する必要があります。

