더북(TheBook)


5.2엡실론과 정밀도


엡실론이 무엇인지 알았으니 어떻게 쓰이는지도 알아볼 차례입니다.

어떤 실수가 있을 때 엡실론을 이용하면 그 실수 다음에 표현할 수 있는 수를 알아낼 수 있습니다. 예를 들어 볼까요? 배정도 실수 9.25를 부동소수점 방식으로 표현하면 1.00101×23입니다. 이 식에서 지수 부분만 떼어 내 엡실론을 곱하면 이 실수와 다음 표현 가능한 수 사이의 차이를 구할 수 있습니다. 코드로 살펴봅시다.

>>> import sys

>>> ep = sys.float_info.epsilon

>>> a = 9.25

>>> diff = (2**3)*ep                #1

>>> diff

1.7763568394002505e-15

>>> b = a + diff                    #2

>>> b

9.250000000000002


#1에서 diff는 지수 부분인 23에 엡실론을 곱한 값으로 9.25와 그 다음 표현 가능한 수 사이의 차이입니다. #2에서 badiff를 더했으므로 9.25 다음에 표현 가능한 수를 나타냅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.