본문 바로가기

Java

Java float와 double의 부동소수점 연산 차이

프로그래밍 세계에서 1.1 + 0.1 == 1.2 가 참이지 않고 거짓이다.

부동소수점 연산 문제 때문에 거짓이 나오게 됩니다.

여기까지는 기존에 알고있던 이야기 였는데 

float 자료형일때는 부동소수점 문제가 해결? 된 것 처럼보였다.

나는 false가 나올 것을 기대하고 연산을 해봤는데 true가 나왔고 부동 소수점 문제가 발생하지 않았다

다른 부동 소수점 연산을 해봐도 동일한 현상을 보여줬다.

float자료형보다 double 자료형이 더 큰 수를 표현 할 수 있어서 정확도가 더 높은 지 알고 있었는데 예상 외의 결과가 나타났다. 

왜그런지 아시는 분 답글 달아주시면 감사하겠습니다!!

이유를 알게되는대로 수정하도록 하겠습니다.