摘要 计算机是人造的。要了解计算机的错误计算,需要先清楚人类的错误计算。本节介绍人类的固定位数的计算模式以及由此带来的错误计算。
固定位数的计算模式
假设要计算一个表达式,那么第一步要设置计算时的有效位数,然后所有运算均在该位数下执行。即所有中间运算的结果与最终结果均保留这么多位数.
比如,计算 的值。若结果保留 5 位有效数字, 则计算过程与结果如下:
固定位数模式的缺陷
固定位数的这种计算模式由于没有考虑中间运算的舍入或截断误差,所以结果有时会不稳定.。比如, 计算(是圆周率)
结果保留 5 位有效数字,则有
这样, 1 位正确有效数字也没有出现。显然, 有效位数只有超过 20 位, 结果中才会出现正确有效数字。但是,即使有效位数取得比较大,错误数字仍然存在。
不妨取 30 位有效数字, 则计算过程与结果如下:
这样,结果中含有10位正确数字,20位错误数字。更为甚者,即使有效位数取更多位数,比如1000位,结果中也仍然含有20位错误数字。
总结:人类的计算模式是固定位数的计算模式。它没有考虑舍入误差,所以基于该模式的计算会出错。