簡體   English   中英

在Perl中將十六進制值轉換為十六進制字符串

[英]To convert a hex value to a hex string in Perl

考慮:

$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)。 但是我沒有開始的方法。 是否存在更好的解決方案?

只需將0x添加到sprintf模式:

sprintf("0x%X",($start_addr = $start_addr + 4));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM