好大一根葱 发表于 2018-4-14 18:48:57

float精度舍入误差问题

大家好,我想问一下小甲鱼视频中的
void main()
{
        float a,b;
        a=123456.789e5;
        printf("%f\n",a);
}
运行结果为12345678848,我的问题是:
1、书上说“float型数据能得到6位有效数字”,意思是不是应该得到12345600000呢?
2、如何得到的12345678848呢?
3、关于float型数据的取值范围网上众说纷纭,准确的范围求法是什么呢?

本人为初学者,谢谢大家啦!

BngThea 发表于 2018-4-14 19:38:35

意思是有效的是六位,而不是六位以外为0

Charles未晞 发表于 2018-4-15 23:00:26

纠正一下有效数字定义:
第一个非零数字前的零不是有效数字.
后面的0就算有效数字了。
比如0.001有效数字是1位,0.00100有效数字是3位
页: [1]
查看完整版本: float精度舍入误差问题