CH 1 : 숫자
정수
- 파이썬에서 정수는 int 로 나타내며, 불변형이다.
부동소수점
부동소수점은 IEEE 754 표준을 따른다. 파이썬에서 부동소수점은 float로 나타내고, 불변형이다
부동소수점은 이진수로 표현되기 때문에. 함부로 비교하거나 연산하면 안 된다. 예를 들어,
1
2In : 0.1 + 0.2 == 0.3
Out: False이런 식으로, 논리적으로 맞는 연산이어도 값은 다르게 나오게 된다. 0.1은 이진수로 0.00110011001100…..으로 표현되기 때문에, 연산 시에 정확한 값이 나오지 않을 것이다.
정확한 계산을 위해서는, 파이썬 모듈인 decimal을 사용하면 된다.
1
2
3from decimal import Decimal
In : Decimal('0.1') + Decimal('0.2') == Decimal('0.3')
Out: True이렇게 계산이 정확하게 나오게 된다.
정수와 부동소수점 메서드
- 파이썬의 나누기 연산자(/)는 항상 부동소수점을 반환한다. 정수 나누기 연산자(//)도 존재한다.
- % 연산자는 나머지를 반환한다.
- divmod(x, y) 매서드
- x를 y로 나눌 때의 몫과 나머지를 반환한다.
- divmod(x, y) return : (x//y, x%y)
- round(x, n) 매서드
- n이 음수일 때 : x를 n번째 자리에서 반올림한 값
- n이 양수일 때 : x를 소수점 n번째 이하 자리로 반올림한 값
2진수, 8진수, 16진수
- 파이썬에는 2진수, 8진수, 16진수를 반환하는 함수가 존재한다.
- 2진수 : bin(string)
- 8진수 : oct(string)
- 16진수 : hex(string)