由于符号扩展,上述方法不起作用并返回 -1。所以我想知道是否有办法只获得低 32 位,即使长数是负数。
问问题
2400 次
3 回答
7
使用L
后缀指定long
文字:0x00000000ffffffffL
.
于 2013-03-06T00:54:17.837 回答
3
也许0x00000000FFFFFFFFL
(注意L
最后的,它是整数类型的后缀long
)。
于 2013-03-06T00:54:24.537 回答
2
这似乎工作得很好:
final long mask = 0x00000000FFFFFFFFL;
final long val = Long.MAX_VALUE;
final long masked = val & mask;
System.out.println(masked);
输出:4294967295
于 2013-03-06T00:56:15.220 回答