2014-02-13 28 views
2


如何在Perl

64位值的32位值转换为32位的perl在Perl转换64位值的32位值

perl -e "use integer;print 88864420<<8" 

输出:

1274455040 

for 64 bit perl

perl -e "use integer;print 88864420<<8" 
22749291520 

但我想结果作为32位值甚至在64位perl。
所以请帮助我将值转换为32位。

+0

http://stackoverflow.com/a/6931686/223226 –

回答

4

简单地屏蔽掉过多位:

my $result = (88864420 << 8) & 0xFFFF_FFFF; 
print $result; 
+0

到目前为止没有过我的脑海强调十六进制数。 :) –

+0

@amon非常感谢你。它的工作:-) 你能解释它是如何工作的? – Saravanan