
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
10進数11.375のIEEE標準形式(単精度)の浮動小数点表現を16進表記したものを選ぶ問題。符号1ビット、指数部8ビット(127を加える)、仮数部23ビットで表す。正答は41360000。
10進数の小数を、IEEE754単精度形式に変換する手順を、問う問題。
① 単精度: 符号1ビット・指数部(α+127)8ビット・仮数部23ビット。先頭から4ビットずつ16進数にする
② 11.375=1011.011₂=1.011011×2³ → 0 10000010 011011… → 0100 0001 0011 0110 → 4136…
③ 41360000(③)
11.375を2進数にすると、整数部11=1011、小数部0.375=0.011(0.25+0.125)で、1011.011。これを1.M形式に正規化すると、1.011011×2^3。符号部Sは0(正)。指数部Eは、3+127=130で、2進数では10000010。仮数部Mは、小数点以下の011011に、0を補って23ビットとし、01101100000000000000000。全体は、0 10000010 01101100000000000000000。4ビットずつ区切ると、0100 0001 0011 0110 0000 0000 0000 0000となり、16進数で41360000。したがって③が正しい。
■ 小数の2進数への直し方
小数点以下の位は、左から1/2, 1/4, 1/8, …を表します。0.375=0.25+0.125=1/4+1/8なので、(0.011)₂です。整数部11=8+2+1=(1011)₂と合わせて、11.375=(1011.011)₂です。
■ 2進数と16進数
2進数を4桁ずつ区切ると、それぞれが16進数の1桁になります(0000=0、…、1001=9、1010=A、…、1111=F)。例えば0100は4、0001は1、0011は3です。
IEEE754単精度: 符号1ビット+指数部8ビット(バイアス127)+仮数部23ビット(先頭の1は省略)。値=(−1)^S×1.M×2^(E−127)。
キーワード: IEEE754、浮動小数点、単精度、指数部、仮数部、16進数、正規化、情報工学部門