반응형
Python에서 정수(int)와 부동소수점(float)는 두 가지 주요 숫자 데이터 타입입니다. 이들 간의 연산은 몇 가지 중요한 차이점과 특징을 가지고 있습니다.
Python 실행 창
정수(int)
정수는 소수점이 없는 숫자입니다. Python의 정수는 크기에 제한이 없으며, 메모리가 허용하는 한 얼마든지 큰 숫자를 저장할 수 있습니다.
a = 10
b = 5
c = a + b # 15
d = a * b # 50
e = a // b # 2 (정수 나눗셈)
f = a % b # 0 (나머지 연산)
g = a ** b # 100000 (거듭제곱)
부동소수점(float)
부동소수점은 소수점을 포함한 숫자입니다. 이는 실수를 표현하며, .
을 사용하여 소수점을 나타냅니다. 부동소수점 숫자는 근사값을 가지며, 정밀도에 한계가 있습니다.
x = 10.5
y = 4.2
z = x + y # 14.7
w = x * y # 44.1
v = x / y # 2.5 (부동소수점 나눗셈)
u = x - y # 6.3
정수와 부동소수점 간의 연산
정수와 부동소수점 간의 연산을 수행할 때, 결과는 자동으로 부동소수점으로 변환됩니다.
a = 10
x = 4.2
result = a + x # 14.2 (부동소수점으로 변환됨)
연산의 차이점 및 주의점
- 정수 나눗셈(
//
):- 정수 나눗셈은 나눗셈의 결과를 정수로 반환합니다.
- 부동소수점 나눗셈은 항상 부동소수점 결과를 반환합니다.
result_int = 7 // 2 # 3 (정수 나눗셈) result_float = 7 / 2 # 3.5 (부동소수점 나눗셈)
- 정밀도 문제:
- 부동소수점 연산은 근사값을 사용하므로, 매우 작은 오차가 발생할 수 있습니다.
result = 0.1 + 0.2 # 0.30000000000000004 (정밀도 문제)
- 타입 변환:
- 정수를 부동소수점으로 변환하려면
float()
함수를 사용할 수 있습니다. - 부동소수점을 정수로 변환하려면
int()
함수를 사용할 수 있습니다.
a = 10 x = 4.2 a_to_float = float(a) # 10.0 x_to_int = int(x) # 4 (소수점 이하 버림)
- 정수를 부동소수점으로 변환하려면
- 모듈로 연산:
- 정수와 부동소수점 모두에서 사용할 수 있습니다.
- 결과는 연산에 따라 달라집니다.
result_int_mod = 10 % 3 # 1 result_float_mod = 10.5 % 3 # 1.5
결론
정수와 부동소수점은 Python에서 다양한 계산에 사용되며, 각기 다른 특성과 제한을 가지고 있습니다. 연산 시 이들 특성을 이해하고 사용하는 것이 중요합니다. 부동소수점의 경우, 근사값으로 계산되므로 정밀도가 중요한 경우 특별히 주의해야 합니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 함수 사용하기 (0) | 2024.06.03 |
---|---|
[ Python ] 입력과 출력 사용하기 (1) | 2024.06.03 |
[ Python ] 대입 연산자 총정리 (0) | 2024.06.02 |
[ Python ] 변수 이름 짓기와 변수 사용하기 (0) | 2024.05.19 |
[ Python ] 파이썬 설치하기 (0) | 2024.05.19 |