반응형
JavaScript는 64 비트 정수를 지원합니까?
다음 코드가 있습니다.
var str = "0x4000000000000000"; //4611686018427387904 decimal
var val = parseInt(str);
alert(val);
이 값 4611686018427388000
은 " "입니다.0x4000000000000060
JavaScript가 64 비트 정수를 잘못 처리하는지 궁금하거나 뭔가 잘못하고 있습니까?
JavaScript는 IEEE-754 배정 밀도 (64 비트) 형식을 사용하여 숫자를 나타냅니다 . 내가 이해했듯이 이것은 53 비트 정밀도 또는 15-16 십진수를 제공합니다. 귀하의 번호는 JavaScript가 처리 할 수있는 것보다 더 많은 숫자를 가지고 있으므로 근사치로 끝납니다.
이것은 실제로 "잘못 처리"되는 것은 아니지만 큰 숫자에 대해 완전한 정밀도가 필요한 경우에는 분명히 도움이되지 않습니다. 큰 숫자를 처리 할 수있는 몇 가지 JS 라이브러리가 있습니다 (예 : BigNumber 및 Int64) .
Chromium 버전 57 이상은 기본적으로 임의 정밀도 정수를 지원합니다. 이것은에서 BigInt라고하고 작업중인 뿐만 아니라 다른 브라우저. 그것은이다 극적으로 빠른 자바 스크립트 구현보다.
참고 URL : https://stackoverflow.com/questions/9643626/does-javascript-support-64-bit-integers
반응형
'developer tip' 카테고리의 다른 글
상수에 대한 참조로 예외를 포착하는 이유는 무엇입니까? (0) | 2020.10.22 |
---|---|
ThreadPool.QueueUserWorkItem 대 Task.Factory.StartNew (0) | 2020.10.22 |
Linux 커널에서 부동 소수점 사용 (0) | 2020.10.22 |
새로운 AWS Certificate Manager 서비스를 사용하여 SSL 인증서를 AWS EC2에 추가하는 방법 (0) | 2020.10.22 |
C #에서 iCal 파일 만들기 (0) | 2020.10.22 |