float精度舍入误差问题
大家好,我想问一下小甲鱼视频中的void main()
{
float a,b;
a=123456.789e5;
printf("%f\n",a);
}
运行结果为12345678848,我的问题是:
1、书上说“float型数据能得到6位有效数字”,意思是不是应该得到12345600000呢?
2、如何得到的12345678848呢?
3、关于float型数据的取值范围网上众说纷纭,准确的范围求法是什么呢?
本人为初学者,谢谢大家啦! 意思是有效的是六位,而不是六位以外为0 纠正一下有效数字定义:
第一个非零数字前的零不是有效数字.
后面的0就算有效数字了。
比如0.001有效数字是1位,0.00100有效数字是3位
页:
[1]