2011-01-14 59 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); 
相关问题