Main Content

반올림 모드: 0 방향(Zero)

계산적 측면에서 가장 간단한 반올림 모드는 0 방향으로 반올림하는 것입니다. 필요한 숫자 외의 모든 숫자가 버려집니다. 0 방향으로 반올림한 숫자는 항상 그 크기가 원래의 더 정확한 값보다 작거나 같습니다. MATLAB®에서는 fix 함수를 사용하여 0 방향으로 반올림할 수 있습니다.

0 방향으로 반올림하면 양수의 경우 하향의 누적 편향이, 음수의 경우 상향의 누적 편향이 발생합니다. 즉, 모든 양수는 더 작은 양수로 내림되고, 모든 음수는 더 큰 음수로 올림됩니다. 다음 그림은 0 방향 반올림을 보여줍니다.

0 방향 반올림과 자르기 비교

0 방향 반올림과 자르기는 같은 의미로 간주되기도 합니다. 하지만 부호 없는 2의 보수 숫자에 대해 0 방향의 반올림과 자르기를 하면 결과가 각각 다릅니다. 이러한 이유로 “자르기”라는 모호한 용어는 이 안내서에서 사용하지 않으며, 대신 명시적으로 반올림 모드라고 사용합니다.

이 점을 설명하기 위해, 부호 없는 5비트 숫자에서 최하위 비트 2개를 버려서(잘라서) 0 방향으로 반올림하는 경우를 살펴 보겠습니다. 예를 들어 부호 없는 숫자 100.01 = 4.25는 100 = 4로 잘립니다. 따라서 부호 없는 숫자에 자르기를 수행하면 0 방향으로 반올림(Zero) 또는 내림(Ceiling)한 결과와 동일합니다.

이제 2의 보수 5비트 숫자에서 최하위 비트 2개를 버려서 반올림해 보겠습니다. 언뜻 보면 2의 보수 숫자를 자르는 것이 0 방향으로 반올림하는 것과 동일하다고 생각할 수 있습니다. 예를 들어 -3.75에서 마지막 2자리 숫자를 버리면 -3.00이 됩니다. 하지만 디지털 하드웨어에서 2의 보수 산술 연산은 다른 결과를 생성합니다. 구체적으로, 숫자 100.01 = -3.75는 100 = -4로 잘리며, 다시 말해 내림(Ceiling)을 수행합니다.