读书人

输出疑惑解决方案

发布时间: 2012-02-12 17:16:33 作者: rapoo

输出疑惑
#include "stdio.h"
main()
{
float a=123456789e5,b;
b=a+20;
printf("%f\n",b);
}
输出:12345679020032.000000,不懂,我觉得应该是:12345678900020.000000,请较详细的解释一下。

[解决办法]
从左算起第一个1后有43位,是为了算指数域位的偏置量
在楼上例子 能完整表示的有效小数域位是01100111010011100111100111000101011001有38位

读书人网 >C语言

热点推荐