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에서 b는 a에 diff를 더했으므로 9.25 다음에 표현 가능한 수를 나타냅니다.