为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/ShiJiaqi。
http://www.cnblogs.com/shijiaqi1066/p/5160771.html
IEEE754标准中一个float是32位的数字。
说明:
第0位用s表示。s=1表示负数,s=0表示正数。
第[1,7]位用E表示。称为指数。
第[8,31]位用M表示。称为尾数。
若E全0,则尾数附加位为0。否则尾数附加位为1。
一个浮点书的值为:Value = (-1)^s *(1+M)*2^(E-127)(单精度)
例:11000000101000000000000000000000
浮点数值 = -1*2^(129-127)*(2^0+2^-2)
类似的,对于Double有如下计算公式:
V=(-1)^s*(1+M)*2^(E-1023)(双精度)
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/ShiJiaqi。
http://www.cnblogs.com/shijiaqi1066/p/5160771.html
原文:http://www.cnblogs.com/shijiaqi1066/p/5160771.html