
🎯 글을 쓰게 된 이유 코딩을 하다가 문득 이상한 현상을 발견했다.double a = 0.1;double b = 0.2;System.out.println(a + b == 0.3); // false??? 분명히 초등학교 수학으로는 0.1 + 0.2 = 0.3인데, Java에서는 false가 나온다.계산기로 해봐도 0.3이 나오는데, 컴퓨터는 왜 이 간단한 계산을 틀릴까?혹시 Java만의 문제인가 싶어서 다른 언어들도 테스트해봤다.JavaScript: 0.1 + 0.2 === 0.3 → falsePython: 0.1 + 0.2 == 0.3 → FalseC++: 동일한 현상 발생도대체 왜 모든 언어에서 이런 일이 일어나는 걸까?그래서 오늘은 부동소수점 연산의 함정과 Java에서의 해결책에 대해 파헤쳐보기로 ..