舍入誤差(英語: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位,所以直接舍去)。
朝-∞方向舍入: 總是向數軸的左方向舍入。
朝+∞方向舍入: 總是向數軸的右方向舍入。
舉例
參考資料 >