相当于Obj C的Java

做作

在Java中,此objc行等效于什么?

uint64_t lInt = 0xFFFFFFFF << 10;

lInt = ((uint64_t)mBytes[0] << 24) + ((uint64_t)mBytes[1] << 16);

我是这样写的,但我认为这是错误的。

long lInt = 0xFFFFFFFFL << 10;

lInt = ((mBytes[0] << 24) + (mBytes[1] << 16);
碧玉蓝调

如评论所示:

“仅将uint64_t更改为long,其他所有内容都是相同的。long的容量可能不够用(因为Java中没有未签名的对象),但这是您所能得到的最好的。”

长的大小

  • 直到Java 7(当前):long数据类型是64位二进制补码整数。带符号的long的最小值为-2 ^ 63,最大值为2 ^ 63-1。

  • Java 8:在Java SE 8和更高版本中,可以使用long数据类型表示无符号的64位long,其最小值为0,最大值为2 ^ 64-1

如果需要表示较大的整数,请使用BigInteger,这是一种非基本类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章