我正在将一个C代码移植到xtend,我有一个32位整数。由于Java的Integer的最大值为0x7FFFFFFF
,因此我决定使用Long,因为我需要0xFFFFFFFF
。
当我打印出来时,
Long value = 0xFFFFFFFFFFFFFFFF;
String::Format("0x%08X", value);
我收到了output: 0xFFFFFFFFFFFFFFFF
。我期待只获得0xFFFFFFFF
。
为了摆脱领先的F,我试着这样做:
value.bitwiseAnd(0x00000000FFFFFFFF)
但输出仍然相同。如何在String::Format
中对其进行格式化,使其不显示第一个FFFFFFFF
?我只需要低32位。
答案 0 :(得分:1)
试试这个:
BigInteger in = new BigInteger("FFFFFFFFFFFFFFFF", 16);
System.out.println(String.format("%.8s", String.format("%x", in)));