728x90
반응형
SMALL
Java에서 0.1과 1.1을 더하면, 그 결과는 1.2000000000000002입니다.
2진수로 저장되면 순환소수인데 할당된 메모리는 32칸이므로 끝자리에서 반올림이 발생합니다.
이로 인해 오차가 발생합니다.
* MISRA-C: 2004 Rule 13.3 : Floating-point expressions shall not be tested for equality or inequality.
# 참고
https://guard-x100.tistory.com/15
[Java] 0.1 + 0.2 = 0.3이 아니다!
@Test public void doubleTest() { Double a = 0.1; Double b = 0.2; Double c = 0.3; Assert.assertEquals(a + b, c, 0.0); } java.lang.AssertionError: Expected : 0.3 Actual : 0.30000000000000004 Double Type인 a 변수값은 0.1, b 변수값은 0.2를 대입하
guard-x100.tistory.com
https://youtu.be/-GsrYvZoAdA?si=i_erlWeqcL2q13iC
728x90
반응형
LIST
'TIL | 개발 공부 기록' 카테고리의 다른 글
[ VSC ] 단축키 설정 변경 (0) | 2023.10.09 |
---|