0.625を32ビット浮動小数点で表すと、16進数で3F200000になります。その途中の考え方を①〜⑤の順に説明します。
①「0.625は0.5 + 0.125」なぜ?
0.625は分数で書くと5/8です。
5/8 = 4/8 + 1/8 なので
4/8 = 1/2 = 0.5
1/8 = 0.125
よって 0.625 = 0.5 + 0.125 となります。
②「2進法の小数表記では0.101となる」とは?
2進数の小数は
小数点の右1桁目が 1/2
2桁目が 1/4
3桁目が 1/8
という重みを持ちます。
0.101₂ なら
1/2 + 0/4 + 1/8 = 0.5 + 0 + 0.125 = 0.625
となるので、0.625は2進数で0.101と書けます。
これを「2進法の小数表記」と言っています。
③「最上位ビットが1になるようにする」とは?
浮動小数点の標準的な表し方では
1.xxxxxx × 2ⁿ
の形にそろえます。
このとき、左側の1を「必ず1にする」ように小数点の位置を動かします。
この「左端の1の桁」が最上位ビットです。
④「1.01 × 2^-1」になる理由
さっきの 0.101₂ を、左端を1にした形に直したいので
0.101₂ に 2をかけると 1.01₂ になります。
つまり
0.101₂ = 1.01₂ × 2の-1乗
です。
10進数で確認すると
1.01₂ = 1 + 0/2 + 1/4 = 1.25
1.25 × 1/2 = 0.625
なので合っています。
⑤「010 0000 0000 0000 0000 0000」はどう求める?
32ビット浮動小数点では
符号 1ビット
指数 8ビット
仮数(小数部)23ビット
の並びになります。
1.01₂ × 2^-1 のうち
先頭の「1.」は省略して、
小数点以下の「01」を仮数部として保存します。
つまり
1.01₂ → 「01」
これを左から順に並べ、残りの桁を全部0で埋めて23ビットにします。
01 0000 0000 0000 0000 0000
を3ビット区切りで書き直すと
010 0000 0000 0000 0000 0000
となります。
あとは
符号ビット: 正なので 0
指数: 真の指数は -1 なので、バイアス127を足して 126
126を2進数にすると 01111110
これを
符号 0
指数 01111110
仮数 01000000000000000000000
とつなげて2進数を16進に直すと 3F200000 になります。