문제

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>

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top