1

JavaScript には (Java のように) ネイティブの Long 型がないため、現在、Java の Long 型をエミュレートすることになっているこのクラスを使用しています。ただし、奇妙な出力が得られます。

  • Java Long1: 3837363534333231、JS Long1: 3132333435363738
  • Java Long2: 3635343332313039、JS Long2: 3930313233343536

そして、それらを XOR すると、次のようになります。

  • JavaXor: e02020606020208、JSXor: 80202060602020e

これらの値は、次の呼び出しによって取得されます。

  • Java: Long.toHexString(var);
  • JS: Long.toString(16) (これは goog.math.Long クラスのメソッドです)

JS 表現 (1 と 2) が後方に表示され、2 文字ごとにシフトしていることに気付くでしょう (16 進数は、同等の Java と比較すると 2 文字を表すため)。XOR の結果は、後方にあるという点で少し異なりますが、文字for-characters。

私は何か間違ったことをしていますか?これは正常な動作ですか?なぜこれが起こっているのか誰にも推測できますか?

4

0 に答える 0