質問

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)
}

これに基づいたもう1つの例があります 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