为什么输出结果存在误差?
运行图1程序时,输入1.2,结果输出f1=0.000000。好像格式控制符应与变量类型对应。还是不太理解为什么输出的为0.000000运行如图2,为什么结果为28.000000,存在舍入误差的原因是? 求助{:5_92:}
这是计算机的“特性”。
不用在意这些细节,计算机浮点数都有这样的误差。 图1:用double的大小数据覆盖float大小的内存块,写进去的是什么东西只有Scanf()知道!不一定是0的!搞不好会破坏栈!!
图2:(29.0 * 0.01)对于计算机浮点数计算都存在误差!!算出来可能是28.999999也可能是29.00001, 强转int之后去掉小数点后面的数据
页:
[1]