これは、Google Chrome Javascript コンソールからの出力です。
以下は、DrJava Java コンソールからの出力です。
私のJavascriptコードは
(baseCPUCyclesPerIteration - CPUCyclesTotalRoundoff) | 0
両方の変数が整数の場合、Java では正常にコンパイルされるようですが、明らかに JavaScript では double です。それでも
typeof baseCPUCyclesPerIteration
明らかにする"number"
結果から、double データ型であることが明らかになります。OR 0
ビット単位が Javascript の double で機能するのに、Java double では機能しない理由がわかりません。
の目的は、| 0
double データ型の小数点をトリムすることだけのようです。私はJavaで同等のものになる(int)
か、(long)
キャストが正しいと推測していますか? または、ビット単位| 0
では、javascript で小数点をトリムするだけではありませんか?
編集:| 0
javascriptでトリミングするだけでなく、これを実行しました。8899811111.111113453456754645 | 0
戻ってきました309876519
。
(私は二重制限を超えましたが、lolはまだjavascriptで計算しようとしていますが、これがオーバーフローが発生する場所であると推測しています)。