이호진

2진수에선 0.9를 정확히 표현할 수 없다 (2021/02/15) 본문

파이썬 문법

2진수에선 0.9를 정확히 표현할 수 없다 (2021/02/15)

이호진 2021. 2. 15. 23:36

컴퓨터 시스템은 수 데이터를 처리할 때 2진수를 사용한다.

예를 들어 10진수 체계에서 0.3과 0.6을 더한 값은 0.9로 떨어지지만, 2진수에선 0.9를 정확히 표현할 수 없다.

최대한 0.9와 가깝게 표현하여 0.899999...으로 저장된다.

 

a=0.3+0.6
print(a)
0.8999999999999999

 

이 경우에 round() 함수를 이용하여 해결할 수 있다.

 

print(round(a,1))
0.9

->round() 함수는 인자를 하나만 넣을때 소수점 첫째 자리에서 반올림한다.

 

print(round(a))
1