반응형
정밀도 설정 (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자리 기준으로 출력됨

'재밌는 수학 퀴즈와 문제' 카테고리의 다른 글
| float, Decimal, Fraction의 상대적인 특성(정밀도, 속도, 사용 편의성) (1) | 2025.04.27 |
|---|---|
| Decimal, Fraction, float 세 가지 실수 표현 방식 (2) | 2025.04.26 |
| 파이썬의 decimal.Decimal 클래스를 사용한 정밀한 실수 연산 (1) | 2025.04.24 |
| fractions.Fraction 모듈을 활용한 정확한 분수 계산 (0) | 2025.04.23 |
| 복소수의 시각화 (2) | 2025.04.22 |