- 符号・指数部・仮数部の順で配置されているが、これは整数として比較しても大小関係が保たれるという工夫
- 指数部は1-254の範囲の値が入る。指数部は127を引いた値を用いる。0と255は特殊な値に使う
- 仮数部は小数点の左側にある1を除いた値を格納する(ケチ表現)
- floatでは指数部を8ビット、仮数部を23ビット
- doubleでは指数部を11ビット、仮数部を52ビット
意味 | 符号 | 指数部 | 仮数部 | 例 |
---|---|---|---|---|
0 | 0 | 0 | 0 | |
-0 | 1 | 0 | 0 | アンダーフロー |
+inf | 0 | 255 | 0 | オーバーフロー, 1.0/0.0 |
-inf | 1 | 255 | 0 | オーバーフロー, -1.0/0.0, log(0) |
NaN | any | 255 | 0以外の値 | 0.0/0.0, sqrt(-1) |
※ マイナス方向の無限になる操作もオーバーフローと呼ぶことに注意!