1

これは、Google Chrome Javascript コンソールからの出力です。
http://i.stack.imgur.com/gefcZ.png

以下は、DrJava Java コンソールからの出力です。
http://i.stack.imgur.com/bQ7hS.png

私のJavascriptコードは

(baseCPUCyclesPerIteration - CPUCyclesTotalRoundoff) | 0

両方の変数が整数の場合、Java では正常にコンパイルされるようですが、明らかに JavaScript では double です。それでも

typeof baseCPUCyclesPerIteration明らかにする"number"

結果から、double データ型であることが明らかになります。OR 0ビット単位が Javascript の double で機能するのに、Java double では機能しない理由がわかりません。

の目的は、| 0double データ型の小数点をトリムすることだけのようです。私はJavaで同等のものになる(int)か、(long)キャストが正しいと推測していますか? または、ビット単位| 0では、javascript で小数点をトリムするだけではありませんか?

編集:| 0javascriptでトリミングするだけでなく、これを実行しました。8899811111.111113453456754645 | 0戻ってきました309876519
(私は二重制限を超えましたが、lolはまだjavascriptで計算しようとしていますが、これがオーバーフローが発生する場所であると推測しています)。

4

1 に答える 1