メインコンテンツへ
基礎理論

IEEE 754単精度浮動小数点数において、10進数の 0.375 を2進数の正規化浮動小数点表現に変換するとき、指数部(バイアス127を加えた後の値)として正しいものはどれか。

ア.124
イ.125正解
ウ.126
エ.127

解説

浮動小数点の正規化は「数直線の単位を決めて1.xxxの形に書き直す」作業。0.375を1.xxxの形に直すために何ビット左シフトするかがポイント!

なぜ イ が正解か

Step1: 0.375を2進数に変換。0.375 = 0.011₂(0.375×2=0.75→0, 0.75×2=1.5→1, 0.5×2=1.0→1)。Step2: 正規化。0.011₂ = 1.1 × 2⁻²(小数点を2桁右に移動)。Step3: 指数 e = −2。Step4: バイアス127を加える: 127 + (−2) = 125。よって指数部のバイアス後の値は125。

なぜ ア は間違いか

124はバイアス127に指数−3を加えた値(127−3=124)。例えば0.0001₂=1.0×2⁻⁴のような数に対応し、0.375には対応しない。

なぜ ウ は間違いか

126は指数部バイアス後の値が127+(-1)=126に対応し、0.75を正規化した場合(1.1×2⁻¹)の値です。0.375(=1.1×2⁻²)では指数が-2なので127+(-2)=125が正しいバイアス値です。

なぜ エ は間違いか

127はバイアス後の指数が0、つまり指数e=0(2⁰=1)の場合。1.0〜1.999...の範囲の数(例: 1.0や1.5)に対応する。

出典: AI生成問題(学習用)