floatは符号部1bit,指数部8bit,仮数部23bit
doubleは上記の順番に1bit, 11bit, 52bit
また、指数部にはバイアスがかかっておりfloatは-127、doubleは-1023
仮数部はアドレスが高位なほうから0.5, 0.25, 0.125....と2のマイナスの乗数で表される
IEEEという団体で規格が決定されているみたい。
例) 1.5 の場合
float 0(符号部) 01111111(指数部) 1000000(仮数部) 00000000 00000000 double 0(符号部) 01111111111(指数部) 1000 00000000 00000000 00000000 00000000 00000000 00000000(仮数部)
【特殊な場合】
・指数部がすべて0の場合は0を示す
・指数部がすべて1の場合はNaNを示す
・指数部がすべて0で仮数部が0でない場合は、(-1) ^ 符号ビット * (仮数部のビット) * 2 ^ (-127)
参考サイト:http://www.cc.kyoto-su.ac.jp/~kbys/kiso/number/fraction.html