舍入误差(英语:round-off error)是指在数值计算过程中,由于计算机字长有限,对计算得到的中间结果数据要使用“四舍五入”或其他规则取近似值,从而产生的计算结果与精确值之间的差异。这种误差是量化误差的一种形式,尤其在用有限位数的浮点数来表示实数时(理论上存在无限位数的浮点数)会产生舍入误差。如果在一系列运算中的一步或几步产生了舍入误差,在某些情况下,误差会随着运算次数增加而积累得很大,最终可能导致没有意义的运算结果。
表示误差
把一个浮点数在计算机中表示,可能会引起误差,这样的误差叫做表示误差。例如:
增加数字位数可以减少可能会产生的舍入误差,但是位数是有限的,在表示无限浮点数时仍然会产生误差。在用常规方法表示浮点数的情况下,这种误差是不可避免的,但是可以通过设置警戒位来减小。
多步舍入会增加舍入误差,例如数字9.945309在输入时被舍入到小数点后两位 (9.95),显示时再舍入到小数点后一位 (10.0),舍入误差是0.054691。如果原来的数只经过一步舍入到小数点后一位 (9.9),舍入误差仅为0.045309。
朝0方向舍入: 即截尾,直接将需要精确的位数以后的数位舍去。
0.142857≈ 0.142 (将小数点后第3位以后的数位全部舍去)。
舍入到最接近: 即四舍五入,结果可能会变大或变小。
0.142857≈ 0.143 (因小数点后第4位,所以小数点后第3位加1)。
0.142857≈ 0.14 (因小数点后第3位,所以直接舍去)。
朝-∞方向舍入: 总是向数轴的左方向舍入。
朝+∞方向舍入: 总是向数轴的右方向舍入。