0

考虑:

$index = 0;

$start_addr = 0x50000000;

for (i=$index; $i<256; $i++)
{
    $addr = sprintf("%X",($start_addr = $start_addr + 4));

    print "addr:$addr\n";
}

我得到了十六进制形式的数字(如 50000000、50000004、50000008、5000000C 等等..)。我的要求是我应该把它作为 0x50000000,0x50000004 等等......为此,我想将它转换为十六进制字符串(“5000000C”)并将 0x(使用 . 运算符,如 0x.5000000C)连接到那个又一次转换回十六进制值(0x5000000C)。但我不知道如何开始。是否存在更好的解决方案?

4

1 回答 1

5

只需添加0xsprintf模式:

sprintf("0x%X",($start_addr = $start_addr + 4));
于 2012-12-02T12:48:13.117 回答