舍入误差

舍入误差
舍入误差(英语:round-off error)是指在数值计算过程中,由于计算机字长有限,对计算得到的中间结果数据要使用“四舍五入”或其他规则取近似值,从而产生的计算结果与精确值之间的差异。这种误差是量化误差的一种形式,尤其在用有限位数的浮点数来表示实数时(理论上存在无限位数的浮点数)会产生舍入误差。如果在一系列运算中的一步或几步产生了舍入误差,在某些情况下,误差会随着运算次数增加而积累得很大,最终可能导致没有意义的运算结果。

表示误差

把一个浮点数在计算机中表示,可能会引起误差,这样的误差叫做表示误差。例如:
数学表达式
精确值
近似值
误差
1/7
0.142857(OEIS中的数列A020806)
0.142857
0.000000142857
ln 2
0.69314718055994530941... (OEIS中的数列A002162)
0.693147
0.00000018055994530941...
log102
0.30102999566398119521... (OEIS中的数列A007524)
0.3010
0.00002999566398119521...
∛2
1.25992104989487316476... (OEIS中的数列A002580)
1.25992
0.00000104989487316476...
√2
1.41421356237309504880... (OEIS中的数列A002193)
1.41421
0.00000356237309504880...
e
2.71828182845904523536... (OEIS中的数列A001113)
2.718281828459045
0.00000000000000023536...
π
3.14159265358979323846... (OEIS中的数列A000796)
3.141592653589793
0.00000000000000023846...
增加数字位数可以减少可能会产生的舍入误差,但是位数是有限的,在表示无限浮点数时仍然会产生误差。在用常规方法表示浮点数的情况下,这种误差是不可避免的,但是可以通过设置警戒位来减小。