3
#!/usr/bin/env perl
use warnings;
use 5.012;

my $var = 1 << 31;
say unpack( "B*", pack( "N", $var )  );

# 10000000000000000000000000000000

我如何从打包/解包中获取

my $var = 1 << 63;

这样的输出?

# 1000000000000000000000000000000000000000000000000000000000000000
4

1 回答 1

5
say unpack("B*", pack( "Q>", $var ));

强制(无符号 64 位“quad”)类型使用>big-endian 字节顺序。Q

于 2011-01-12T18:23:20.353 回答