我正在处理一些内存地址,我需要将其填充到一个完整的64位长度。举个例子:
0x7ffe0 - needs to be padded to: 0x000000007ffe0000
基本上每个值都需要填充到16位,并在正确的位置使用零。
我知道String.format
可能会这样做,但我不确定DecimalFormat
是否更快,或更好的方法。
非常感谢任何建议。
由于
更新
这是内存信息存储在文件中的方式:
基本上前8个字节是范围的开始,最后8个是范围结束的位置。
我可以访问的另一个程序向我显示完整的64位填充地址,所以我不完全确定它是如何执行填充的。
答案 0 :(得分:1)
试试这个
String s = String.format("0x%016x", 0x7ffe0);
DecimalFormat仅适用于小数而非十六进制
答案 1 :(得分:1)
尝试这样的事情
System.out.printf("0x%016x", 0x7ffe0);