关于float输出误差的问题
main(){
float a=1234.5678;
printf("%f",a);
}
结果是1234.567749
是不是计算机用2进制位数不够产生的误差?怎么算?
谢谢
1234.56 为真实输出..(7位)
这是一个关于float的存储问题
因为浮点数的有效值为7位,所以只能保证前面的7位的值为正确值。
而具体浮点数分为符号位、基数、指数,而有效值是针对指数位。
具体你可以搜索一下。
我怕误导你。还是不说得好。
在里面我转贴了一篇关于浮点数的文章。那里面很详细