浮動小数点
小数点以下の値をデジタルな値で扱えるようにする形式
IEEE 754, ISO 6093, JIS X 0210などの標準フォーマットがある
table:形式
形式 名 基数 仮数 桁 指数bit Java / C
binary16 半精度 2 10+1 5
binary32 単精度 2 23+1 8 float
binary64 倍精度 2 52+1 11 double
binary128 四倍精度 2 112+1 15
decimal32 十進単精度 10 7
decimal64 十進倍精度 10 16
decimal128 十進四倍精度 10 34
1.000000 など小数点の上のビットが最上位になるよう桁をそろえてビットを移動する
小数点以下を仮数として記録する。最上位ビットは省略する。
指数は *2^1 を 単精度で 0x80 倍精度で 0x400 的なところにもってくる *2^0 は 0x7f と 0x3ff
単精度の例
指数が0x00
非正規化された値で最上位ビットの1は補完されない
仮数が0のときは値0
指数0xff
仮数0のときフラグ方向の無限大
仮数0以外 NaN 非数
仮数 先頭が1 Quiet NaN
仮数 先頭が0 signaling NaN ハードウェア例外など無効な値