如何在java中生成0x00000000FFFFFF长掩码?
由于签名扩展,上述操作无效并返回-1。因此,我想知道是否有一种方法可以仅在长数字为负数的情况下获得较低的32位。使用如何在java中生成0x00000000FFFFFF长掩码?,java,algorithm,bit-manipulation,Java,Algorithm,Bit Manipulation,由于签名扩展,上述操作无效并返回-1。因此,我想知道是否有一种方法可以仅在长数字为负数的情况下获得较低的32位。使用L后缀指定long文字:0x00000000ffffffffL也许0x00000000ffffffffL(注意末尾的L,这是long).这似乎很管用: final long mask = 0x00000000FFFFFFFFL; final long val = Long.MAX_VALUE; final long masked = val & mask; System.o
L
后缀指定long
文字:0x00000000ffffffffL也许0x00000000ffffffffL
(注意末尾的L
,这是long
).这似乎很管用:
final long mask = 0x00000000FFFFFFFFL;
final long val = Long.MAX_VALUE;
final long masked = val & mask;
System.out.println(masked);
输出:4294967295