2011-01-14 112 views
1

我正在使用Perl將用戶提供的整數轉換爲二進制形式。例如,如果用戶輸入是「3735928559」(0xdeadbeef以十六進制表示),程序應該輸出分別編碼在\xde,\xad,\xbe,\xef而不是「deadbeef」的四個字符。以32位固定長度二進制打印整數

我不想使用外部模塊,那我該怎麼做?謝謝。

回答

7

如果我理解正確的(你想要的四個字節寫0xDE,寫入0xAD,0xbe和0xef),請嘗試以下操作:

print pack("N", $input); 
+0

謝謝,這是我正在尋找的答案! – 2011-01-14 06:55:12

4

你的問題不是很清楚,但我認爲你正在尋找對於pack

my $input = '3735928559'; 
print pack('N', $input);