부동소수점으로 달러 계산하기: 0.1+0.2가 0.3이 아닌 이유와 그 속 숨은 패턴

Adding Floating-Point Decimals for Fun and Profit

대부분의 프로그래밍 언어에서 달러와 센트 같은 십진수 계산에 부동소수점을 쓰면 안 된다고들 한다. 0.1 + 0.2가 0.3이 아닌 0.30000000000000004가 되는 유명한 문제 때문이다. 하지만 실제로 영수증 합계를 낼 때는 오류가 거의 나타나지 않는다. 이 글은 0.01의 배수들을 더할 때 나타나는 흥미로운 패턴을 소개하고, 부동소수점 오류 함수를 분석해 그 패턴이 어디서 오는지 수학적으로 설명한다.

IEEE 배정밀도 부동소수점에서 0.1 + 0.2는 0.3이 아니라 0.30000000000000004이다.

이 날의 다른 글

2026-10-01