5.2 실수 계산하기

1.5, 3.333333처럼 소수점이 붙은 수를 실수라고 하죠? 이번에는 실수끼리 계산을 해보겠습니다.

>>>3.5 + 2.1를 입력해보세요.

>>> 3.5 + 2.1
5.6

덧셈의 결과인 5.6이 잘 나왔습니다. 이번에는 뺄셈, 곱셈, 나눗셈을 해보죠.

>>> 4.3 - 2.7
1.5999999999999996
>>> 1.5 * 3.1
4.65
>>> 5.5 / 3.1
1.7741935483870968

그런데 4.3 - 2.7의 결과가 좀 이상합니다. 1.6이 나와야 하는데 1.5999999999999996이 나왔습니다. 왜냐하면 컴퓨터는 실수를 표현할 때 오차가 발생하기 때문입니다.

오차 문제는 다소 어려운 주제이므로 지금은 크게 신경 쓰지 않아도 됩니다. 나중에 실무에서 실수를 다룰 때 오차에 대한 적절한 처리가 필요합니다. 자세한 내용은 '부록 48.5 실수 값의 오차'를 참조하세요.

지금까지 실수끼리 계산을 해보았습니다. 실수와 정수를 함께 계산하면 어떻게 될까요?

>>> 4.2 + 5
9.2

실수인 9.2가 나왔습니다. 실수와 정수를 함께 계산하면 표현 범위가 넓은 실수로 계산됩니다(실수가 정수보다 표현 범위가 넓습니다).

그림 5-1 표현 범위가 넓은 쪽으로 계산됨
그림 ‎5 1 표현 범위가 넓은 쪽으로 계산됨
참고 | 정수 계산 결과를 실수로 만들고 싶어요.

계산 결과가 정수이지만 강제로 실수로 만들려면 계산식을 괄호로 묶은 뒤 앞에 float를 붙여주면 됩니다.

>>> float(1 + 2)
3.0

float는 부동소수점(floating point)에서 따왔으며 결과를 실수로 만들어줍니다.

참고 | 복소수

파이썬에서는 실수부와 허수부로 이루어진 복소수(complex number)도 사용할 수 있습니다. 이때 허수부는 숫자 뒤에 j를 붙입니다(수학에서는 허수를 i로 표현하지만 공학에서는 j를 사용합니다).

>>> 1.2+1.3j
(1.2+1.3j)

두 실수를 복소수로 만들 때는 complex를 사용하면 됩니다.

>>> complex(1.2, 1.3)
(1.2+1.3j)
최근 수정: 2018년 7월 12일, 목요일, 오후 4:07