로딩
요청 처리 중입니다...

0.1 + 0.2 ≠ 0.3 ? 프로그래밍 부동소수점 문제, 컴퓨터는 소수를 어떻게 인식할까?

 0.1 + 0.2 ≠ 0.3 ? 프로그래밍 부동소수점 문제, 컴퓨터는 소수를 어떻게 인식할까?

사람에게는 너무나 당연한 수학 0.1 + 0.2 는 0.3 이죠. 0.300000001 도 아니고 딱 0.3 입니다. 하지만 컴퓨터도 똑같이 생각하는지 한번 파이썬(Python) 언어를 통해서 확인해보겠습니다. 0.1+0.2가 0.3인지 확인하기 위해 == 기호를 사용했습니다. >> 0.1+0.2==0.3 그리고 출력은 False 이 둘은 다른 숫자라고 나오네요!

그렇다면 0.1+0.2가 어떤 값을 갖고 있는지 출력해 봅시다. 0.1과 0.2를 더한 숫자는 0.3이 아니라 0.300.....04 라는 숫자로 표시됩니다. 그래서 0.3과 같냐고 물어봤을 때 다르다고 출력했던 것이죠.

그 이유는 무엇일까요? 간단하게 설명해서, 컴퓨터가 소수 밑의 자리수를 사람이 보듯이 그대로 저장하는 것이 아니라 근사치를 사용해서 계산하기 때문입니다.

예를들어서 -118.625 (10진법)라는 숫자를 32비트로 표허현하자면 간단해 보이는 숫자를 저장하는데 많은 메모리 칸이 필요한 것을 알 수 있습니다....

# floatingpoint # 악교정 # 양악수술 # 어린이교정 # 인비절라인 # 전문의 # 청소년교정 # 치과 # 치과의사 # 치아교정 # 코딩 # 클리피씨 # 투명교정 # 파이썬 # 소아교정 # 세라핀 # Python # 교정 # 교정과 # 교정과전문의 # 교정치과 # 데이몬 # 돌출입교정 # 발치교정 # 부동소수점 # 비발치교정 # 성인교정 # 성장교정 # 성장기교정 # 프로그래밍