문제
JavaScript 함수 사용
function squareIt(number) {
return number * number;
}
주어지면 4294967296이 주어지면 함수는 18446744073709552000을 반환합니다.
모든 사람은 실제 대답이 18446744073709551616 :-)입니다.
나는 이것이 내 32 비트 기계를 반올림하는 것 같아요. 그러나이 스크립트가 64 비트 기계에 대한 정답을 제공할까요? 누구든지 이것을 시도한 사람이 있습니까?
해결책
chrisv- 이 게시물을 참조하십시오. 또한 사람들이 다음 JavaScript를 브라우저 URL 텍스트 상자에 직접 입력하여 질문을 더 쉽게 평가할 수 있습니다.
javascript:4294967296*4294967296
다른 팁
JavaScript는 수치 계산에 내부적으로 64 비트 플로팅 포인트 산술을 사용합니다.
이건 어때요
function squareIt(number){
return Math.pow(number,2)
}
다음은 한 가지 예제입니다 biginteger.js.
alert(bigInt(4294967296).square());
<script src="https://cdnjs.cloudflare.com/ajax/libs/big-integer/1.6.40/BigInteger.min.js"></script>
제휴하지 않습니다 StackOverflow