浮動小数点数
浮動小数点数とは
浮動小数点数はコンピュータで実数を扱う方式の一つ。
符号部、指数部、仮数部の 3 つを組み合わせて実数を表現する。
単精度浮動小数点数(float)
以下は IEEE754 形式の 単精度浮動小数点数である。
符号部 1 ビット、指数部 8 ビット、仮数部 23 ビットの計 32 ビットで実数を表現する。
以下は単精度浮動小数点数の例である。
| 符号部 | 指数部 | 仮数部 |
|---|---|---|
0 |
01111100 |
0100000000000000000000 |
符号部、指数部、仮数部から以下のように実数を求める。
\[
値 = (-1)^{符号部} \times (1 + {仮数部}) \times 2^{{指数部} - 127}
\]
符号部は正負を示し、仮数部は小数を示し、指数はオーダーを示す。
小数は 2 進数なので\(2^{-1} + 2^{-2} + 2^{-3}\)...のような 2 の累乗の足し算で表現できる範囲の近似値になる。
教訓
コンピュータでは実数は 2 の累乗で表現するため、2 の累乗で表せない実数は誤差が出る。
| JavaScript | |
|---|---|
1 2 3 | |