1

我目前正在处理一些需要填充到完整 64 位长度的内存地址。举个例子:

0x7ffe0 - needs to be padded to: 0x000000007ffe0000

本质上,每个值都需要填充到 16 位,并且在正确的位置使用零。

我知道String.format可能会这样做,但我不确定是否DecimalFormat更快,或者更好的方法来做到这一点。

任何建议将不胜感激。

谢谢

更新

这是内存信息在文件中的存储方式:

在此处输入图像描述

本质上,前 8 个字节是范围的开始,后 8 个字节是范围的结束。

我可以访问的另一个程序向我展示了完整的 64 位填充地址,所以我不完全确定它是如何执行填充的。

4

2 回答 2

1

尝试这个

String s = String.format("0x%016x", 0x7ffe0);

DecimalFormat 仅适用于小数而不是十六进制

于 2013-08-07T08:25:46.827 回答
1

尝试这样的事情

    System.out.printf("0x%016x", 0x7ffe0);
于 2013-08-07T08:30:22.903 回答