재밌는 수학 퀴즈와 문제

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