新手求教:十六进制数转换成十进制数的问题

新手求教:十六进制数转换成十进制数的问题

本人彻底的菜鸟新手,求教如下问题:

从二进制文件读取数据,4字节一组,例如读取 01 32 17 C8,转成十进制本来应该是 20060104(这也是我期望得到的结果)

但是用 print hex(0x013217c,结果是 537264388

在WINDOWS里用计算器,十进制输入537264388,再转成十六进制,结果得到20060104
(当然在PERL里再用HEX(537264388)是不会得到20060104的)

有点晕,perldoc里找到的hex说明很简单,想半天,不懂为什么是这个结果

用printf %f也得到537264388,又晕一次,看来我实在是太菜了

怎样才能得到正确的结果(20060104)?

哪位能给费神解答一下?

或者简单指个方向也行

谢谢!
print oct('0x013217c8'), "\n";
print hex('0x013217c8'), "\n";
printf("%d\n", 0x013217c8);
非常感谢楼上的LONKI

看来还是我看书不仔细,再去慢慢看文档了

hex()函数,在括号里写16进制数不需要用0x指明
537264388 实际等于 hex('0x20060104')