単精度浮動小数点数の表現
解説
ポイント
実数 13.0 を,決められた手順で符号部・指数部・仮数部の0と1の列に直す問題です。
考え方と解き方
例の -6.5 と同じ手順をなぞります。
まず 13.0 を「2α×(1+x)」(1以上2未満の数×2のべき乗)の形にします。
- 13÷8=1.625 なので,13.0=+23×(1+0.625)。α=3,x=0.625 です
符号部:正なので 0 です。
指数部:α+127=3+127=130 です。130=128+2=27+21 なので,2進数で 10000010 です。
仮数部:x=0.625=1/2+1/8=(0.101)2 です。例と同じ x なので,101 のあとに 0 が20個続く列です。
- 確かめ:23×1.625=8×1.625=13 で合います。答えは 符号部 0,指数部 10000010,仮数部 101 のあとに 0 が20個
覚えておくこと
- 浮動小数点は「1.xxx×2α」の形に直してから,符号・α+127・小数部分を2進にする
- 127 を足すのは,マイナスの指数も正の数で表すため
- 2進の小数:0.1=1/2,0.01=1/4,0.001=1/8
- 例と同じ x でも,α が違えば指数部は変わる。例の指数部をそのまま使わない
出典:令和元年度(再試験) 技術士第一次試験 基礎科目 I-2-4(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム