본문 바로가기
재밌는 수학 퀴즈와 문제

정밀도 설정 (getcontext().prec)의 계산 결과

by silvermath 2025. 4. 28.
반응형

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