2010-05-25 103 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轮到最近的模式规定了四舍五入到最接近的偶数,这是不太可能在保持确定性的同时引入偏差。

相关问题