2010-05-25 2 views

답변

10

, rounding 전부 소수 부분을 제거하는 수단, 다른 한편으로는, 가장 가까운 정수로 반올림 때문에 3 3.4 결과를 반올림하고

Truncating 4. 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 round() 함수는 "0에서 멀어지지 않습니다"를 반올림합니다. 이는 아마도 초등학생 때 배웠던 것이지만 특정 계산에 편향을 도입합니다. 가장 가까운 모드로의 IEEE-754 라운드는 동점을 가장 가까운 짝수로 반올림하도록 지정하며, 이는 결정 성을 유지하면서 편향을 유발할 가능성이 적습니다.

관련 문제