sitelink1 https://namu.wiki/w/반올림 
sitelink2 https://blog.naver.com/noseoul1/221592047071 
sitelink3  
sitelink4  
sitelink5  
extra_vars6  

1. 근사값 처리 방법


Round-off

근사값(어림수)을 구할 때에 끝수를 처리하는 방법으로, 수학적으로 말하자면 최소 단위로 나눈 나머지가 최소 단위의 절반에 미치지 못하는 경우 버리고, 초과하는 경우는 올리는 방법이다. 사회과학에서는 주로 소수점 둘째자리를 최소 단위로 하여 반올림한다. 정확히 절반에 걸리는 경우에는 처리 방법에 따라 다르며, '절반의 걸리는 범위'에 대한 정의에 따라 그 결과가 달라지기도 한다.
  • 대표적으로는 사사오입이 있는데, 이는 정확하게 절반에 걸리는 경우를 무조건 올리는 방식이다. 다시 말해, 100 단위로 사사오입하는 경우 49는 0으로, 50은 100으로 처리하는 것이다. 최소단위 바로 밑자리가 5인지만 검사하면 되기 때문에 간편하면서도 가장 많이 사용하는 방식이다. 밑자리는 절사한다. 헌법을 개정할 때 사용한다.
  • 공학이나 자연과학에서는 오사오입을 많이 사용한다. Round-to-nearest-even이라고도 하는 이 방법은 절반에 걸리는 경우 최소 단위의 2배 단위로 맞추는 것으로, 쉽게 말해 상위 단위를 짝수로 만드는 것이다. 컴퓨터에서도 이 방식을 사용하는데, 맨 뒷자리가 필연적으로 손실되는 계산 특성상 이 방식으로 처리하는 것이 오차가 가장 적기 때문. 과학공학의 유효 숫자 개념에서 사용된다. 5를 초과할 경우 올림하고, 5 미만일 경우 버림한다. 5일 경우 앞자리 숫자가 짝수면 버리고, 홀수면 올림하여 짝수로 만들어준다. 27.65는 27.6으로, 32.35는 32.4로 만들어주면 된다. 이것은 Banker's rounding 또는 Gaussian rounding이라 하며, 다소 이상한 반올림이지만, 통계학적으로는 매우 합리적임을 알 수 있다.
  • 잘 사용되지는 않지만, 오사육입도 있다. 이는 사사오입과는 반대로 절반에 걸리는 경우를 무조건 버리는 방식이다. 회계나 정책 결정에 잘 사용되었던 방식이다. 하지만 바로 밑의 단위가 5인지를 검사했다고 끝나는 게 아닌지라 계산이 은근히 복잡한 탓에, 바로 밑의 단위는 절사하기도 한다. 100이 최소 단위며 10이 그 밑단위라면 59까지가 0으로 절사되는 식.
  • 화폐 단위를 반올림할 때 사용하는 반올림 방법인 스웨덴 반올림이 있다. 스웨덴 크로나의 보조 단위인 외레의 최소 유통 단위가 5외레로 될 때 이 반올림 방법이 시작되면서 '스웨덴 반올림'이라 불리고 있다. 이름이 조금 거창하기는 하지만, 수학적 원리는 같다. 스칸디나비아 반도 지역 및 핀란드, 캐나다 등에서 현금거래를 할 때 스웨덴 반올림이 적용된다.

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

π나 √2 같은 무한소수를 반올림하거나, 1기압(=1013.25hPa)을 1013hPa로 나타내듯이 복잡한 수치를 간단화하기 위해 쓴다.

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

Microsoft Excel에선 반올림 하는 함수로는 ROUND가 있다.[1]

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: 10
10.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: 10
10.5 to: 10

 

 

 

 

 

https://blog.naver.com/noseoul1/221592047071 블로그 참고

 

공학이나 자연과학에서는 오사 오입을 많이 사용한다.
Round-to-nearest-even이라고도 하는 이 방법은 절반에 걸리는 경우 최소 단위의 2배 단위로 맞추는 것으로, 쉽게 말해 상위 단위를 짝수로 만드는 것이다.
컴퓨터에서도 이 방식을 사용하는데, 맨 뒷자리가 필연적으로 손실되는 계산 특성상 이 방식으로 처리하는 것이 오차가 가장 작기 때문.
과학 및 공학의 유효 숫자 개념에서 사용된다.
5를 초과할 경우 올림하고, 5 미만일 경우 버림 한다.
5일 경우 앞자리 숫자가 짝수 면 버리고, 홀수 면 올림 하여 짝수로 만들어준다.
27.65는 27.6으로, 32.35는 32.4로 만들어주면 된다.
이것은 Banker's rounding 또는 Gaussian rounding이라 하며, 다소 이상한 반올림이지만, 통계학적으로는 매우 합리적임을 알 수 있다.

위의 방식 대로 하면 오차가 작고 합리적이라고 하는데 이 부분은 완전히 이해가 되지 않는다...

이해가 안되는 날을 위해 피지 파견 동료 교사가 예시를 제시해줬다. 이거 보니 신기하게 평균의 오차가 적었다....
(단 과학교사들의 대화이기 때문에 오차가 있을 수 있습니다....)

피지에 파견 온 선생님들 단톡방에서 과학선생님끼리 오사오입이 사사오입 보다 통계학적으로 정확한 이유를 토론 하고 있었다.
이를 지켜 보던 수학 선생님 한분이 수학적으로 증명을 해주었다.

 

SE-01d22254-89b0-4358-9338-7054b201d493.jpg

<피지로 같이 파견 온 수학선생님이 보내 준 증명>

 

 

SE-fe3b3041-cd3d-496b-b0ba-f03313df72c3.jpg

<피지로 같이 파견 온 수학선생님이 보낸 내용>

 

 

번호 제목 글쓴이 날짜 조회 수
공지 2023 Software Development Trend 정리 황제낙엽 2024.01.19 1
128 SSO(Single Sign On) vs SLO(Sing LogOn) 차이점 황제낙엽 2007.08.17 359
127 Atom(에디터) file 황제낙엽 2017.08.31 311
126 Google 의 설문지에서 응답 다운로드로 저장한 결과물(CSV)이 엑셀에서 한글깨짐 황제낙엽 2019.04.19 304
125 VSSH 프레임웍 패키지 (벨로시티툴 활용) 황제낙엽 2006.10.04 303
124 결재 연동 서비스 업체 (아임포트) 황제낙엽 2020.06.09 273
123 AI의 연도별 역사 황제낙엽 2018.11.03 273
122 윈도우10 FPP,OEM,DSP,ESD 라이선스 file 황제낙엽 2017.10.24 265
121 SAP 회계 용어 황제낙엽 2020.01.07 245
120 줄바꿈 문자에 대한 고찰 (Special Charaters) 황제낙엽 2011.02.13 239
119 [제품 검증과 성능 테스트-1] BMT,POC,Pilot,POE 황제낙엽 2019.07.08 218
118 Touring the Commons - part 1 황제낙엽 2008.05.20 218
117 오픈 소스 자바 프로젝트를 응용한 웹 어플리케이션개발 황제낙엽 2005.11.24 191
116 Mail Message RFC 문서링크 황제낙엽 2004.11.19 184
115 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 177
114 Docker 황제낙엽 2020.05.04 156
113 NUI(Natural User Interface) / NUX(Natural User eXperience) 황제낙엽 2019.03.03 150
112 VeriSign사로 부터 Digital ID 발급 받기 (펌) 황제낙엽 2004.02.19 136
111 Using OAuth 2.0 to Access Google APIs 황제낙엽 2019.09.05 131
110 VSSH 프레임웍 패키지 (오픈소스를 이용한 시스템 통합) 황제낙엽 2006.10.04 128
109 지수(과학적 표기법, "E") 서식 지정자 (1) 황제낙엽 2018.11.03 126