本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和4年度 春期 応用情報技術者試験問題と解説

問1

浮動小数点数を、仮数部が7ビットである表示形式のコンピュータで計算した場合、情報落ちが発生しないものはどれか。ここで、仮数部が7ビットの表示形式とは次のフォーマットであり、( )2内は2進数、Yは指数である。また、{ } 内を先に計算するものとする。

 (1.X1X2X3X4X5X6X7)2×2Y

ア {(1.1)2×2-3 + (1.0)2×2-4} + (1.0)2×25

イ {(1.1)2×2-3 − (1.0)2×2-4} + (1.0)2×25

ウ {(1.0)2×25 + (1.1)2×2-3} + (1.0)2×2-4

エ {(1.0)2×25 − (1.0)2×2-4} + (1.1)2×2-3


正解


解説

情報落ちは、絶対値の非常に大きな数値と小さな数値の加算や減算を行ったとき、小さい数値が計算結果に反映されないことによって発生する誤差のことである。
また、2進数で表された数値を2倍すると左に1ビットシフトし、2-1倍、つまり 1/2倍すると右に1ビットシフトする。

ア 正しい。
{(1.1)2×2-3 + (1.0)2×2-4} + (1.0)2×25
= {(0.0011)2 + (0.0001)2} + (100000)2
= (0.0100)2 + (100000)2
= (10000.01)2
となり、7ビットで計算できる。

イ {(1.1)2×2-3 − (1.0)2×2-4} + (1.0)2×25
= {(0.0011)2 − (0.0001)2} + (100000)2
= (0.0010)2 + (100000)2
= (10000.001)2
となり、7ビットでは計算できない

ウ {(1.0)2×25 + (1.1)2×2-3} + (1.0)2×2-4
= {(100000)2 + (0.0011)2} + (0.0001)2
= (10000.0011)2 + (0.0001)2
となりこの時点で、7ビットでは計算できない

エ {(1.0)2×25 − (1.0)2×2-4} + (1.1)2×2-3
= {(100000)2 − (0.0001)2} + (0.0011)2
= (11111.1111)2 + (0.0011)2
となりこの時点で、7ビットでは計算できない

目次 問2