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 다음에 표현 가능한 수를 나타냅니다.

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