在Java Long的javascript实现中,十六进制数字显示为向后

时间:2013-02-01 19:54:13

标签: java javascript hex long-integer

由于javascript没有本机Long类型(就像Java那样),我目前正在使用this类,它应该模拟Java的Long类型。但是,我的输出很奇怪。

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

当我把他们混在一起时:我得到了:

  • JavaXor:e02020606020208,JSXor:80202060602020e

这些值是通过调用:

获得的
  • Java:Long.toHexString(var);
  • JS:Long.toString(16)(这是一个goog.math.Long类的方法)

你会注意到JS表示(1和2)向后出现,每两个字符移位一次(十六进制代表2个字符,与它们的Java等价物相比.XOR结果有点不同,因为它是向后的,但角色为角色。

我做错了吗?这是正常的行为吗?谁能想到为什么会发生这种情况呢?

0 个答案:

没有答案