C++的float精度问题

来源:互联网 发布:js中require的用法 编辑:程序博客网 时间:2024/05/20 06:30
今天担任助教的时候,负责实验,学生提问到了一个关于float和double的精度问题。
查了相关资料,发现float的有效位为6.
即若
float x=1234567890;
则x的实际有效数字实际上是7位
x属于1234567000到1234567999之间的随机一个数字

这里是有效位的概念,和精度无关,即和float能够表示的数字范围无关。
换个方式来说,float能表示的某个范围中,是有一些的数字不能精确表示出来的。


例如:
b=99999999999;
c=99999999921;
printf("%f\n",b);
printf("%f\n",c);

输出的b和c都是:
C++的float精度问题 - 天际红尘 - 天际红尘
 
原创粉丝点击