목록eval() (1)
삶 가운데 남긴 기록 AACII.TISTORY.COM
javascript Expression
부동 소수점 실수 계산의 정확도 문제 64비트 부동 소수점 규격 부호: 1비트, 지수 부분: 11비트, 가수 부분: 52비트 유효 소수점 자리수가 2의 53승 이므로 약 10의 16승 즉, 16자리가 유효한 자릿수입니다. 부동 소수점으로 계산하면 오차가 발생합니다. 일반적으로 가까운 두 수를 뺄 때 정밀도에 손실이 일어납니다. Math.sqrt(10001) - Math.sqrt(10000); //유효자리가 16자리에서 12자리로 줄어듭니다. //이런 경우 아래 처럼 바꾸어 정밀도 손실을 피할 수 있습니다. 1 / (Math.sqrt(10001) + Math.sqrt(10000)) 10진수로 정확하게 딱 떨어지는 값도 계산 결과가 어긋나는데 내부적으로는 이진수로 계산하기 때문입니다. var a = 0.16..
DEV&OPS/Javascript
2022. 2. 21. 17:00