具体参考《IEEE标准754》
结论为:
float有效数字位为6 – 7位,第7位不一定有效,字节数为4,指数长度为8位,小数长度为23位。取值范围为 3.4E-38~3.4E+38。对于9999999,其实为10000000。
double有效数字位为15 – 16位,第16位不一定有效,字节数为8,指数长度为11位,小数长度为52位。取值范围为1.7E-308~1.7E+308。
浮点数的内部存储为:
浮点数的计算结果为:
n,s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位。
S(sign)表示N的符号位。对应值s满足:n>0时,s=0; n<0时,s=1。
E(exponent)表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。
M(mantissa)表示N的尾数位,恰好,它位于N末尾。M也叫有效数字位(sinificand)、系数位(coefficient), 甚至被称作“小数”。
在IEEE-754标准下,