2016-09-15 25 views

回答

1

這是預期的。你有什麼問題?如果打開警告你會發現下面的警告:

Hexadecimal number > 0xffffffff non-portable at test.pl line 4. 

您可以使用BIGINT編譯與可以處理的數字那麼大的一個版本替換十六進制的功能。

use bigint qw/hex/; 

六角

覆蓋內置的十六進制()方法可以處理 大整數版本。這通過將其導出至當前的 包來覆蓋它。在Perl v5.10.0和更高版本中,這不是必需的,因爲每當bigint 編譯指示處於活動狀態時, hex()在當前範圍內被詞彙覆蓋。 - perldoc

+1

你應該顯示*使用十六進制功能的例子 – ysth

1

您可以用printf打印出十六進制數字:

printf "%X", $hexnumber; # or %x for lower case a-f digits 

但請注意,這不是移植到使用32位整數皮爾斯。 也許你真的只是想把它作爲一個字符串存儲在第一位?

+0

是的,你是正確的,如果我想將十六進制數字存儲在一個變量中,並且希望以相同的形式檢索回來,我需要將它存儲爲最初的sting。 ..我現在明白了,謝謝你。 –

相關問題