2010-05-25 102 views

回答

10

在數學中,rounding裝置四捨五入到最接近的整數,因此,在3四捨五入3.4結果和在第4

Truncating四捨五入3.6的結果,另一方面,是指完全移除的小數部分,因此無論是3.4或3.6結果爲3.

大多數編程語言和庫也遵循這個。

7

round()trunc(),在大多數編程語言中,對應於兩個由IEEE-754標準中規定的四個基本舍入模式的。

四個舍入模式,相應的舍入函數,以及他們如何表現上的各種輸入的例子,有:

rounding mode  function [1]  results of rounding: 
            0.2 1.7 -2.6 -3.3 
--------------------------------------------------------------------------------- 
round to nearest round() [2]  0.0 2.0 -3.0 -3.0 
round to zero  trunc()   0.0 1.0 -2.0 -3.0 
round to +infinity ceil()   1.0 2.0 -2.0 -3.0 
round to -infinity floor()   0.0 1.0 -3.0 -4.0 

[1]的IEEE-754標準不要求這些名稱,並不是所有的語言都使用相同的名稱。這些僅僅是我的經驗中最常見的名字。

[2]在C和C派生語言中的round()函數不完全對應於IEEE-754輪到最近舍入模式。具體而言,它在處理確切的中途情況方面有所不同。 C函數輪調「與零關係」,這可能是您在小學時學到的東西,但會在某些計算中引入偏差。 IEEE-754輪到最近的模式規定了四捨五入到最接近的偶數,這是不太可能在保持確定性的同時引入偏差。

相關問題