修了試験 2012-07-22実施分 基本情報技術者試験 問1
浮動小数点表示の仮数部が23ビットであるコンピュータで計算した場合,情報落ちが発生する計算式はどれか。 ここで,( )_2内の数は2進数とする。
正答3
解説
正解は3です。 情報落ちとは、絶対値が大きく異なる2数を加減算したとき、小さい方の数の下位の桁が結果に反映されない現象です。 浮動小数点数の加減算では、指数をそろえるために小さい方の仮数部を右へシフトします。 指数の差が仮数部のビット数(23ビット)に達すると、シフトではみ出した桁が失われます。 【選択肢別解説】 1:× 2数の指数がそろっているので、情報落ちは起きません。 (10.101)_2×2^-16は(1.0101)_2×2^-15と等しく、引く数と同じ指数になります。 値の近い2数の減算で有効桁数が減る現象は、情報落ちではなく桁落ちと呼びます。 2:× 2数の指数がどちらも2^16なので、仮数部をシフトする必要がなく情報落ちは起きません。 計算結果は(1.1)_2×2^16となり、桁は失われません。 3:○ 指数の差が18-(-5)=23で、仮数部のビット数23に達しています。 (1.01)_2×2^-5の指数を18にそろえると、仮数を23ビット右へシフトすることになります。 その結果、下位のビットが仮数部からはみ出して失われるので、情報落ちが発生します。 4:× 2数の指数の差は1しかないため、情報落ちは起きません。 (1.001)_2×2^20は(0.1001)_2×2^21と表せ、シフトしても仮数部に十分収まります。 【ポイント】 情報落ちは「大きい数と小さい数の加減算」で、桁落ちは「値の近い数どうしの減算」で起こります。 指数の差と仮数部のビット数を比べるのが判定のコツです。まとめて解く
修了試験 2012-07-22実施分を通しで解く(80問)→