如何在Perl中从十六进制转换为有符号整数?

时间:2013-08-13 08:02:42

标签: perl

嗨,大家好我是Perl的新手。我有一个十六进制Chanel数据(24位)'fe284b'和'018263'我希望它分别是等效的有符号整数'-120757'和'98915'。请帮助我在Perl中如何做到这一点。

1 个答案:

答案 0 :(得分:4)

使用hex()函数将十六进制字符串转换为其等效数字。然后,如果该值应该是负数,那就这样做。

$hex = 'fe284b';
$value = hex($hex);
$value -= 0x1000000 if $value >= 0x800000;
print $value;

输出:

-120757