浮動小数点表現

浮動小数点数は,有限個のビットで実数を近似します。浮動小数点数を表現しているビットは,BitViewer ツールで見ることができます。ビットは次に示す式のように計算されます。表現は 2 進数なので,基底は 2 です。ビット bn は 2 進数 (0 または 1) を表します。精度 P は,その数の非指数部 (有効数字) のビット数で,E は指数部です。2 進の浮動小数点数は,これらのパラメタを使って,次のように実数を近似します。

( - 1)s b 0 . b 1 b 2 ... b P-1 x 2 E

ここで s は 0 または 1 (+ または -) で,E min <= E <= E max です。

次表に,これらのパラメタの単精度,倍精度,および拡張倍精度書式での標準的な値と,符号,指数部,および数値全体のビット幅を示します。

IEEE 浮動小数点書式のパラメタ

パラメタ 単精度 倍精度 拡張倍精度
符号のビット幅 1 1 1
P 24 53 64
E max +127 +1023 +16383
E min -126 -1022 -16382
指数部のバイアス +127 +1023 +16383
指数部のビット幅 8 11 15
書式のビット幅 32 64 80

標準では,単精度および倍精度書式は規格化されていることが必要なので,b 0 はつねに 1 です。したがって,b 0 は暗黙に 1 になるので,精度 24 と 53 を表現するために必要な実際のビット数は,それぞれ 23 と 52 です。

拡張倍精度書式は規格化されている必要がないので,精度には 64 ビットすべてを使用します。バイアスは,指数部が正の整数になるように,すべての指数部に加えられる値です。これにより指数値間の比較が簡単になります。格納される指数部は実際には次のようになります。

e = E + bias

関連情報