字符串格式选项

时间:2013-12-11 07:25:21

标签: java bit-manipulation xtend bitwise-and

我正在将一个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位。

1 个答案:

答案 0 :(得分:1)

试试这个:

BigInteger in = new BigInteger("FFFFFFFFFFFFFFFF", 16);        
System.out.println(String.format("%.8s", String.format("%x", in)));