반올림(수학)

덤프버전 :


1. 개요
1.1. 처리 방법
1.2. 사용 분야
1.3. 관련 문서


1. 개요[편집]


반올림/Round-off/사사오입/

[math(f(x; n) = \begin{cases} \begin{aligned} \mathrm{sgn}\left(x\right) 10^{-n}\lceil 10^{n} |x| \rceil && \textsf{ if } 10^n |x| - \lfloor 10^n |x| \rfloor \geq \dfrac{1}{2} \\ \mathrm{sgn}\left(x\right)10^{-n} \lfloor 10^{n} |x| \rfloor && \textsf{ if } 10^n |x| - \lfloor 10^n |x| \rfloor < \dfrac{1}{2} \end{aligned} \end{cases})]
흔히 생각하는 사사오입을 수식으로 표현한 것.[1][2]

근삿값(어림수)을 구할 때에 끝수를 처리하는 방법으로, 수학적으로 말하자면 최소 단위로 나눈 나머지가 최소 단위의 절반에 미치지 못하는 경우 버리고, 초과하는 경우는 올리는 방법이다.

보통 [math(\lceil x \rceil)]은 천장함수(올림, ceiling function), [math(\lfloor x \rfloor)]은 바닥함수(버림)으로 적으나, 반올림은 특별한 수학 기호가 없다.

1.1. 처리 방법[편집]


사회과학에서는 주로 소수점 둘째자리를 최소 단위로 하여 반올림한다. 정확히 절반에 걸리는 경우에는 처리 방법에 따라 다르며, '절반의 걸리는 범위'에 대한 정의에 따라 그 결과가 달라지기도 한다. 대표적으로 아래의 유형이 있다. 예시는 모두 십진법을 전제로 한다.

  • 사사오입 (Round half up): 정확하게 절반에 걸리는 경우를 무조건 올리는 방식이다. 일상에서 말하는 반올림은 이것을 의미한다. 최소단위 바로 밑자리가 5인지만 검사하면 되기 때문에 간편하다. 구하려는 자리의 한 자리 아래 숫자가 0, 1, 2, 3, 4이면 버리고, 5, 6, 7, 8, 9이면 올리는 것. 구하려는 자리 아래가 모두 0이면 작업 끝.[3] 이 이론이 위법적 개헌에 악용된 적도 있다.
  • 오사오입[4] (Round half to even): 정확하게 절반에 걸리는 경우 최소 단위의 2배 단위로 맞추는 방식으로, 쉽게 말해 상위 단위를 짝수로 만드는 것이다. 5를 초과할 경우 올림하고, 5 미만일 경우 버림한다. 5일 경우 앞자리 숫자가 짝수면 버리고, 홀수면 올림하여 짝수로 만들어준다.
자연과학공학유효숫자 개념에서 많이 사용하는 방식이다. 컴퓨터에서도 이 방식을 사용하는데, 맨 뒷자리가 필연적으로 손실되는 계산 특성상 이 방식으로 처리하는 것이 오차가 가장 적기 때문. 27.65는 27.6으로, 32.35는 32.4로 만들어주면 된다. 단 정확히 절반이라 하였으니 절반을 초과한 27.6500000001은 27.7이다. 이것은 Banker's rounding 또는 Gaussian rounding이라고도 하며, 다소 이상한 반올림이지만, 통계학적으로는 매우 합리적임을 알 수 있다.
  • 오사육입 (Round half down): 사사오입과는 반대로 절반에 걸리는 경우를 무조건 버리는 방식. 회계나 정책 결정에 잘 사용되었던 방식이다. 하지만 바로 밑의 단위가 5인지를 검사했다고 끝나는 게 아닌지라 계산이 은근히 복잡한 탓에, 바로 밑의 단위는 절사하기도 한다. 100이 최소 단위며 10이 그 밑단위라면 59까지가 0으로 절사되는 식. 실생활에서는 공모주 신청 후 배정할 때 많이 볼 수 있다.

  • 화폐 단위를 반올림할 때 사용하는 반올림 방법인 스웨덴 반올림이 있다. 문서 참고. 이름이 거창하나 수학적 원리는 같다.

사사오입
[math(\begin{aligned} {\rm round}(x;\,n) &= 10^{-n} \left\lceil \dfrac12\lfloor2\times10^n x\rfloor \right\rceil \\ {\rm round_2}(x;\,n) &= 10^{-n} \left\lfloor \dfrac12\lceil2\times10^n x\rceil \right\rfloor \end{aligned})]
오사육입

100을 최소 단위, 10을 밑단위로 잡은 예시를 들면 아래와 같다.
반올림 방법
밑자리
960~1049
1050
1051~1059
1060~1149
1150
1151~1159
1160~1249
사사오입
절사
1000
1100
1200
오사오입
고려
1000
1100
1200
사사육입
고려
1000
1100
1200
오사육입
절사
1000
1100
1200

1.2. 사용 분야[편집]


[math(\pi)]나 [math(\sqrt2)] 같은 무한소수를 반올림하거나, 1기압(1013.25 hPa)을 1013 hPa로 나타내듯이 복잡한 수치를 간단히 하기 위해 쓴다.

과학에선 반올림을 할때 유효숫자를 나타내기 위해 지수형태인 a×10n 꼴로 나타내는 경우가 많다. 예를 들어 3004 를 백의자리에서 반올림하면 3000 이 되고, 유효숫자는 3 하나 뿐인데 이를 표현하면 3×103 이된다. 하지만, 3004 를 십의자리에서 반올림하면 역시 3000 이 되지만, 유효숫자는 30 까지이다. 이를 지수형태로 표현하면 3.0×103 라고 표현해서 유효숫자가 2개임을 표시할 수 있다. 만약 일의자리에서 반올림 했다면 3.00×103 으로 표기한다.

돈 계산에 있어서 어림계산을 해야 한다면 나의 지출은 올림, 나의 수입은 버림으로 계산하는 것이 좋다. 그렇게 계산해야 나중에 뒤탈이 없다. 단 몇백 원 차이로 헝클어지는 경우가 수도 없이 많다.

Microsoft Excel에선 반올림 하는 함수로는 ROUND가 있다.[5] Excel에서의 ROUND 함수는 사사오입식 반올림으로 오사오입식 반올림을 원할 때에는

=IF(AND(ISEVEN(A1*10^0),MOD(ABS(A1)*10^0,1)<=0.5),ROUNDDOWN(A1,0),ROUND(A1,0))

이 식을 붙여넣고 0을 원하는 숫자로 바꾸면 된다. 또는 사용자정의 함수로

{{{Function BankerRound(rng As Double, sig As Integer) As Double


BankerRound = Round(rng, sig)
End Function}}}
이렇게 붙여넣고

=BankerRound(A1,0)

이렇게 함수를 쓰면 된다.

Python에서는 Microsoft Excel처럼 round 함수로 반올림을 할 수 있다. 다만, Python2에서는 사사오입법을, Python3에서는 오사오입법을 쓴다는 게 특징.
print("round() function:")
for x in range(1, 11):
    xx = x + .5
    print("%4.1f to: %2d" % (xx, round(xx) ) )

이 코드는 아래와 같이 실행된다.
Python2
Python3
round() function: 1.5 to:  2 2.5 to:  3 3.5 to:  4 4.5 to:  5 5.5 to:  6 6.5 to:  7 7.5 to:  8 8.5 to:  9 9.5 to: 1010.5 to: 11
round() function: 1.5 to:  2 2.5 to:  2 3.5 to:  4 4.5 to:  4 5.5 to:  6 6.5 to:  6 7.5 to:  8 8.5 to:  8 9.5 to: 1010.5 to: 10


1.3. 관련 문서[편집]


  • 사사오입 개헌 [6]

[1] 절댓값부호 함수가 들어가는 이유는 이를 쓰지 않을 경우 음수에서는 반대의 결과가 나오기 때문이다.[2] 위의 식을 조각적 정의를 쓰지 않고 쓴다면 [math({\rm round}(x;\,n) = 10^{-n} \left\lceil \dfrac{1}{2}\lfloor2×10^n x\rfloor \right\rceil)]로 나타낼 수 있다.[3] 해당 자리가 0이면 버림을 해도 결과는 같다.[4] 포병 계산 등의 분야에서는 사사육입이라 부른다.[5] 같은 관계로 ROUNDUP은 올림, ROUNDDOWN은 내림(버림)하는 함수이다.[6] 말 그대로 자유당은 반올림 이라는 기적의 논리로 헌법 개정안을 통과시켰다. 참고로 그 때 당시에는 사사오입이 반올림이다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r200 판{{{#!wiki style="display: inline; display: 1;"
, 1번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r200 판{{{#!wiki style="display: inline; display: 1;"
, 1번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)



파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-15 11:03:21에 나무위키 반올림(수학) 문서에서 가져왔습니다.