파이썬/개념

숫자 - 정수(int)의 크기, 부동소수점 숫자

thpop 2025. 2. 24. 08:44
반응형

파이썬은 버전이 업데이트 됨에 따라서 int가 담을 수 있는 수의 크기가 더욱 커져왔다.

 

파이썬 2에서는 int의 크기가 CPU에 따라 32비트나 64비트로 제한되었고, 32비트는 -2,147,483,648에서 2,147,483,648까지의 정수를 저장할 수 있는 공간이다.

 

long (long integer)은 이보다 더 많은 공간을 가지고 있다. 64비트의 -9,223,372,036,854,775,807에서 9,223,372,036,854,775,807까지 허용한다.

 

그러나 버전이 발전함에 따라, 파이썬 3에서는 long이 사라지고, int의 크기가 더욱 커지고 유연해져, 64비트보다 더 큰 공간을 가질 수 있다.

 

따라서 구골(10^(100))과 같은 큰 수도 담을 수 있다.

googol = 10**100
googol
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
googol * googol
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

 

다른 언어에서 위의 코드와 같이 입력한다면, 오버플로우가 발생할 것이므로, 주의해야 한다.


부동소수점 숫자(floats)는 소수점이 있다.

>>> 5.
5.0
>>> 5.0
5.0
>>> 05.0
5.0

 

부동소수점 숫자는 문자 e와 정수인 지수를 포함할 수도 있다,

>>> 2e0
2.0
>>> 4e1
40.0
>>> 6.0e1
60.0

 

int() 함수를 이용해 정수로 변환하던 것처럼, float() 함수를 이용해 부동소수점 숫자로 변환할 수도 있다.

 

불리언을 부동소수점 숫자로 변환할 경우 아래와 같다.

>>> float(True)
1.0
>>> float(False)
0.0

 

정수를 부동소수점 숫자로 변환할 경우 간단하게 소수점이 붙는다

>>> float(79)
79.0

 

숫자, 기호, 소수점, 지수가 있는 문자열의 경우에도 부동소수점 숫자로 변환할 수 있다.

>>> float('98.6')
98.6
>>> float('+12.7')
12.7
>>> float('1.2e2')
120.0

 

정수와 부동소수점 숫자를 같이 사용하여 연산하게 되면, 자동으로 정수를 부동소수점 타입으로 변환한다.

>>> 120 + 4.7
124.7

 

반응형

'파이썬 > 개념' 카테고리의 다른 글

if, elif, 그리고 else  (1) 2025.02.24
주석, 그리고 라인 유지하기(\)  (0) 2025.02.24
숫자 - 진수, 타입 변환  (0) 2025.02.24
데이터 타입 - 정수 연산자, 변수  (0) 2025.02.18
데이터 타입 - 불리언, 정수  (0) 2025.02.18