考虑:
$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)。但我不知道如何开始。是否存在更好的解决方案?
答案 0 :(得分:5)
只需将0x
添加到sprintf
模式:
sprintf("0x%X",($start_addr = $start_addr + 4));