作业帮 > 综合 > 作业

2003版excel 表 计算下列公式,手工计算结果应为0,但用excel计算得到负数(小数点20位左右还有数字)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 10:49:02
2003版excel 表 计算下列公式,手工计算结果应为0,但用excel计算得到负数(小数点20位左右还有数字)
公式为 8967954.54-24420527.62+15454266.15-1693.07
只是加法减法都会有误差么,而且我的位数只道小数点后2位,怎么会引起后20为才出现误差呢
这是计算机浮点计算造成的误差,把公式改为:
=ROUND(8967954.54-24420527.62+15454266.15-1693.07,2)
把减数先相加,再一次减去,有时也能解决问题:
=8967954.54+15454266.15-(24420527.62+1693.07)
计算机运算不是像我们计算那么简单,其中有一个复杂的过程,即先把十进制数字转为二进制数字,再运算,然后再把结果转为十进制数字.受计算机精度限制,小数转为二进制数字时,只能取近似值,运算后再用某些方法对结果进行调节,使其尽可能接近精确值,但不可能做到完全精确.