关于浮点数的存储所带来的问题
浮点数的存储所带来的问题
float 和 double都不能保证可以把所有的实数都准确的保存在计算机中,存储的是一个近似值
例子:
float i = 99.9;
printf(“%f\n”,i);
最终在Devc++6.0中的输出结果是:99.900002
因为浮点数无法准确存储,所以就衍生出两个变成问题:
举例:
1、
有一个浮点型变量x,如何判断x的值是否为0
if (|x-0.000001| < 0.000001)
是零
else
不是零
2、
为什么循环中更新的变量不能定义为浮点型
因为浮点型是一个非精确存储