더북(TheBook)

Q&A 실수

 

 

Q. 실수의 데이터 타입 이름이 float인 이유는?

A. 소수점이 실수를 구성하는 숫자들 사이를 떠다닐 수 있기 때문이다. 이와 반대로 정수의 경우, (암묵적으로) 소수점이 가장 낮은 숫자 뒤에 고정되어 있다.

 

Q. 파이썬에서는 실수를 내부적으로 어떻게 저장하는가?

A. 일반적으로 파이썬은 해당 컴퓨터 시스템에서 자연스럽게 표현될 수 있는 표기법을 사용한다. 대부분의 컴퓨터는 IEEE 754 표준이 정의한 대로 실수를 저장한다. 이 표준에 따라 실수는 부호, 가수, 지수, 3개의 부분으로 나뉘어 저장된다. 그리고 IEEE 754 표준은 특별한 값(양의 영, 음의 영, 양의 무한대, 음의 무한대, NaN(Not a Number))을 처리하는 방법도 명시한다. 예를 들어 -0.0/3.0-0.0으로, 1.0/0.0은 양의 무한대, 0.0/0.0NaN으로 평가된다. 계산에서 양의 무한대를 나타내는 float(‘inf’)와 음의 무한대를 나타내는 float(‘-inf’) 표현식을 사용할 수 있지만, 파이썬은 IEEE 754에서 이 부분에 대한 표준은 따르지 않는다. 예를 들어 파이썬에서 -0.0/3.0은 정확히 -0.0으로 평가되지만, 1.0/0.00.0/0.0은 모두 실행 시 ZeroDivisionError 예외를 발생시킨다.

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