【高校数学】浮動小数点数の計算方法をわかりやすく完全攻略!
浮動小数点数って聞くと、少し難しそうに感じるかもしれないけど、心配しないで。
わかりやすく解説するから、一緒に勉強していきましょう!
そもそも浮動小数点数(ふどうしょうすうてんすう)って何?
まずはイメージからいきましょう。
浮動小数点数とは、
大きい数も小さい数も効率よく表せる2進数の指数表現
のことよ。
実はこれ、みんながすでに知っている「科学記数法」と同じ考え方なの。
10進数で考えてみよう
たとえば、
1530 = 1.53 × 10³
こんなふうに書けるわよね?
このとき、
- 1.53 → 仮数
- 10³ → 指数
という構造になっている。

つまり、
数 = 仮数 × 10の指数乗
なのよ。

2進数でも同じことをする
コンピューターは10進数ではなく、2進数の世界で動いている。
だから、
数 = 仮数 × 2の指数乗
という形にするの。

例えば、15.125 を2進数にしてみましょうか。

まず10進数を2進数に変換するわ。
整数部分:
15 = 1111₂
小数部分:
0.125 = 0.001₂

だから、
15.125 = 1111.001₂

そして、浮動小数点では、必ず
1.xxxxx × 2ⁿ
の形に直すの。これを正規化(せいきか)というわ。
つまり、仮数(小数部分)の先頭が必ず 1 になる形にそろえるのね。
1111.001₂ を正規化すると、どうなるかしら??
左に3つ小数点を移動させて、2の3乗をかけた形にすればいいわね。

1.111001 × 2³
これが浮動小数点の基本形よ。

32ビット浮動小数点の構造
実際のコンピューターでは、32ビットをこう分けて保存するの。
- 符号部(1ビット)
- 指数部(8ビット)
- 仮数部(23ビット)

① 符号部
0なら正、1なら負。
② 指数部
指数はそのまま入れない。
指数 + 127
を入れるのよ。
これを「バイアス」と言うわ。
今回の指数は3だから、
3 + 127 = 130
130を2進数にすると、
10000010₂
これが指数部になる。
③ 仮数部
正規化した形は、
1.111001
だったわね。
でもここで大事なポイントよ。
浮動小数点では、正規化すると必ず先頭は1になるの。
だから、その「1」はわざわざ保存しないのよ。これを隠れた1(hidden bit)っていうの。
つまり、保存するのは小数点の後ろだけ。
111001
ここまでが、実際に必要な情報ね。
でもね、仮数部は23ビットって決まっているの。
だから、ビットが足りない分はどうすると思う?
そう、右側を0で埋めるのよ(ゼロ埋め)。
11100100000000000000000
こうして23ビットにそろえるの。
後ろに数字がないのは、「それ以上の情報がない」という意味。
だから安心して0を並べていいのよ。
最終的なビット列
0 | 10000010 | 11100100000000000000000
これが 15.125 の32ビット浮動小数点表現よ。
そんじゃあね!