재밌는 수학 퀴즈와 문제
정밀도 설정 (getcontext().prec)의 계산 결과
silvermath
2025. 4. 28. 04:36
반응형
정밀도 설정 (getcontext().prec)의 계산 결과
파이썬의 decimal 모듈에서 정밀도 설정 (getcontext().prec)이 어떻게 계산 결과에 영향을 주는지를 아주 잘 보여주는 예시입니다.
📐 핵심 기능: getcontext().prec
- decimal.getcontext().prec = n 은 Decimal 계산의 유효 자릿수(precision)를 n으로 설정합니다.
- 이 값에 따라 Decimal().sqrt() 등의 연산 결과가 달라집니다.
📊 예제 분석
✅ 1. 정밀도 38자리
getcontext().prec = 38
Decimal('2').sqrt()
→ Decimal('1.4142135623730950488016887242096980786')
- √2가 소수점 아래 36자리 이상까지 정확하게 계산됨.
✅ 2. 정밀도 28자리
getcontext().prec = 28
Decimal('2').sqrt()
→ Decimal('1.414213562373095048801688724')
- 소수점 아래 약 26자리까지 표현됨.
✅ 3. 정밀도 2자리
getcontext().prec = 2
Decimal('2').sqrt()
→ Decimal('1.4')
- 소수점 이하 한 자리만 유지됨.
🎯 활용 포인트
용도 | 추천 정밀도 (prec) |
일상적 소수 계산 | 6 ~ 10 |
금융/통화 계산 | 2 ~ 6 |
과학/공학/루트·로그 계산 | 20 이상 |
무한소수 근사 (예: π, √2 등) | 30 이상 |
🧪 참고: 정밀도 설정 코드
from decimal import Decimal, getcontext
getcontext().prec = 10
sqrt2 = Decimal('2').sqrt()
print(sqrt2) # 정밀도 10자리 기준으로 출력됨