[Js] 숫자 범위가 너무 큰 경우

해나·2024년 2월 20일
post-thumbnail
console.log(8746738469660816943*9)
//출력  : 78720646226947360000
//계산기 : 78720646226947352487

큰 숫자를 곱한 결과값이 실제 계산기 결과값과 다르다.

이는 자바스크립의 숫자가 부동 소수점 방식으로 표현되기 때문이다. 자바 스크립에서 정수의 안전한 범위는 -9007199254740991부터 9007199254740991까지 이다. 16자리...
따라서 위 코드는 범위를 초과하므로 정밀도를 잃었다.

이를 해결하기 위해서

BigInt를 사용하여 더 큰 정수를 다룰 수 있다.

BigInt(number) % BigInt(9)

BigInt로 변환한 후에 계산하므로 올바른 결과를 제공한다!

profile
hena.log("Markdown STH")

0개의 댓글