
JavaScript의 소수점 오차 생기는 이유
·
⭐FE
✅배경프론트엔드 개발을 하다 아래와 같은 경우를 볼 수 있다.분명히 0.1+0.2는 0.3이어야 되는데 0.3000000... 4 인 이유가 뭘까? 그 이유는 자바스크립트는 IEEE754 64비트 `부동소수점` 방식으로 저장 되기 때문이다💡자바스크립트의 숫자 표현방식자바스크립트에서 모든 숫자는 내부적으로 IEEE754 64비트 부동소수점 방식으로 저장된다. 이 방식은 어떤 수를 저장하기 위해 64비트를 쓰며 항상 수를 1.??? * 2^n 형태로 인식하고 ???는 가수부, n부분은 지수부로 보고 각각 11비트, 52비트를 이용하여 표현한다. 추가로 1비트는 양수/음수를 구분하기 위해 사용한다.부호부: 1비트 사용, 양수/음수 구분 (0:양수, 1:음수)지수부: 11비트 사용, 2의 거듭제곱을 표현 ..