Main Content

반올림

숫자를 유한 정밀도로 표현하면 가능한 범위 내의 숫자 전체를 정확히 표현할 수 없습니다. 고정소수점 숫자에 연산을 수행한 결과는 대개 그 숫자의 원래 형식보다 더 긴 레지스터에 저장됩니다. 이 결과를 다시 원래 형식으로 되돌릴 때는 반올림 방법을 사용해서 해당 값을 표현 가능한 숫자로 형변환합니다. 반올림 연산에서는 항상 정밀도가 손실되며, 양자화 오차와 계산 잡음이 발생합니다. 반올림 연산의 비용과 그로 인해 생기는 편향의 정도는 반올림 방법에 따라 다릅니다.

반올림 방법 선택하기

각 반올림 방법은 일련의 내재된 속성을 가집니다. 설계의 요구 사항이 무엇인가에 따라 이들 속성은 특정 반올림 방법을 더 적합하게 만들기도 하고 덜 적합하게 만들기도 합니다. 설계 요구 사항을 알고 각 반올림 방법의 속성을 이해하면 어느 방법이 사용자의 필요에 가장 적합한지 결정할 수 있습니다. 고려할 가장 중요한 속성은 다음과 같습니다.

  • 비용 — 사용 중인 하드웨어와 무관하게 반올림 방법에 필요한 처리 비용이 얼마인가?

    • 낮음 — 반올림 방법에 처리 주기가 거의 필요하지 않습니다.

    • 보통 — 반올림 방법에 중간 정도의 처리 주기가 필요합니다.

    • 높음 — 반올림 방법에 더 많은 처리 주기가 필요합니다.

    참고

    여기에 설명된 비용 추정은 하드웨어와는 상관이 없습니다. 일부 프로세서에는 반올림 모드가 내장되어 있으므로, 각 반올림 모드의 실제 비용을 계산하기 전에 사용 중인 하드웨어를 면밀히 살펴보십시오.

  • 편향 — 반올림된 값에서 원래 값을 뺀 예상 값(Ε(θ^θ))은 얼마인가?

    • Ε(θ^θ)<0 — 반올림 방법에서 음수 편향이 발생합니다.

    • Ε(θ^θ)=0 — 반올림 방법에서 편향이 발생하지 않습니다.

    • Ε(θ^θ)>0 — 반올림 방법에서 양수 편향이 발생합니다.

Fixed-Point Designer 반올림 모드

비용과 편향을 보다 유연하게 상호 절충할 수 있도록 Fixed-Point Designer™는 현재 다음 반올림 방법을 지원합니다.

Fixed-Point Designer 반올림 모드설명반올림 경계에 놓인 숫자 처리비용편향
올림(Ceiling)양의 무한대 방향으로 표현 가능한 가장 가까운 숫자로 올림합니다.N/A낮음큰 양수
수렴(Convergent)표현 가능한 가장 가까운 숫자로 올림 또는 내림합니다.반올림 경계에 놓인 숫자는 가장 가까운 짝수로 올림 또는 내림합니다.높음편향 없음
내림(Floor)음의 무한대 방향으로 표현 가능한 가장 가까운 숫자로 내림합니다. 2의 보수 자르기 동작과 동일합니다.N/A낮음큰 음수
최근접(Nearest)표현 가능한 가장 가까운 숫자로 올림 또는 내림합니다.반올림 경계에 놓인 숫자는 양의 무한대 방향으로 표현 가능한 가장 가까운 숫자로 올림합니다.중간작은 양수
반올림(Round)표현 가능한 가장 가까운 숫자로 올림 또는 내림합니다.
  • 양수인 경우 반올림 경계에 놓인 숫자는 양의 무한대 방향으로 표현 가능한 가장 가까운 숫자로 올림합니다.

  • 음수인 경우 반올림 경계에 놓인 숫자는 음의 무한대 방향으로 표현 가능한 가장 가까운 숫자로 내림합니다.

높음
  • 음수 샘플의 경우 작은 음수

  • 양수 값과 음수 값이 균일하게 분포된 샘플의 경우 편향이 발생하지 않음

  • 양수 샘플의 경우 작은 양수

최대단순(Simplest)
(Simulink®에만 해당)
가능한 한 효율적인 생성 코드를 얻기 위해 FloorZero 중에서 자동으로 선택합니다.N/A낮음연산에 따라 다름
0 방향(Zero)0 방향으로 표현 가능한 가장 가까운 숫자로 내림 또는 올림합니다.N/A낮음
  • 음수 샘플의 경우 큰 양수

  • 양수 값과 음수 값이 균일하게 분포된 샘플의 경우 편향이 발생하지 않음

  • 양수 샘플의 경우 큰 음수

진단 목적의 반올림 모드 선택하기

진단 목적일 경우 올림(Ceiling) 방향과 내림(Floor) 방향의 반올림이 유용할 수 있습니다. 예를 들어 여러 번의 산술 연산에서는 워드 크기 제한 때문에 반올림 처리를 하면 연산이 끝난 후 정확한 답을 알지 못할 수 있습니다. 이 일련의 연산에서 매 연산을 두 번씩 수행하면, 다시 말해서 양의 무한대 방향으로 한 번 올림하고 음의 무한대 방향으로 한 번 내림하면, 정확한 답의 상한과 하한을 구할 수 있습니다. 그러면 결과가 충분히 정확한지 아니면 추가 분석이 필요한지 결정할 수 있습니다.

관련 항목