질문자 :Cato Johnston 다음 코드를 고려하십시오. 0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 왜 이러한 부정확성이 발생합니까? 이진 부동 소수점 수학은 이와 같습니다. 대부분의 프로그래밍 언어에서 IEEE 754 표준을 기반으로 합니다. 문제의 핵심은 숫자가 이 형식에서 정수 곱하기 2의 거듭제곱으로 표현된다는 것입니다. 분모가 2의 거듭제곱이 아닌 유리수(예: 0.1 , 1/10 표준 binary64 0.1 경우 표현은 정확히 다음과 같이 작성할 수 있습니다. 십진수로 0.1000000000000000055511151231257827021181583404541015625 C99 hexfloat 표기법의 0x1.99999999999..