$hexnumber = 0x09C343C2E95ACABA;
print ("$hexnumber");
我的打印回复为703480471217687226
。任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
这是预料之中的。你的问题是什么?如果您打开警告,您会注意到以下警告:
Hexadecimal number > 0xffffffff non-portable at test.pl line 4.
您可以使用bigint pragma将一个可以处理大数字的版本替换为十六进制函数。
use bigint qw/hex/;
hex
使用可以处理的版本覆盖内置的hex()方法 大整数。这会通过将其导出到当前来覆盖它 包。在Perl v5.10.0及更高版本下,这不是必需的 每当bigint时,hex()在当前范围内被词法覆盖 pragma很活跃。 - perldoc
答案 1 :(得分:1)
您可以使用printf打印出十六进制数字:
printf "%X", $hexnumber; # or %x for lower case a-f digits
但请注意,这对于使用32位整数的perls来说是不可移植的。 也许你真的只想把它作为一个字符串存储起来?