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 #교정 #교정과 #교정과전문의 #교정치과 #데이몬 #돌출입교정 #발치교정 #부동소수점 #비발치교정 #성인교정 #성장교정 #성장기교정 #프로그래밍

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