Perl中是否有等效的int、short、long?

Perl中是否有等效的int、short、long?,perl,Perl,64位系统: $i=2;print ~$i; # 18446744073709551613 $i=2;print ~$i; # 4294967293 32位系统: $i=2;print ~$i; # 18446744073709551613 $i=2;print ~$i; # 4294967293 如何使$I32位 我需要在任何系统中使用Perl进行可移植的按位操作。只需按位操作,结果为0xffffff。这对32位系统没有影响,并且在64位系统上为您提供低阶32位,这是您想要的答案。对于

64位系统:

$i=2;print ~$i; # 18446744073709551613
$i=2;print ~$i; # 4294967293
32位系统:

$i=2;print ~$i; # 18446744073709551613
$i=2;print ~$i; # 4294967293
如何使
$I
32位


我需要在任何系统中使用Perl进行可移植的按位操作。

只需按位操作,结果为
0xffffff
。这对32位系统没有影响,并且在64位系统上为您提供低阶32位,这是您想要的答案。

对于Perl中的可移植逐位操作,请查看CPAN上的

它支持广泛的按位操作,例如:

use Bit::Vector;

my $vector = Bit::Vector->new_Dec(32, "2"); # 32-bit vector for the decimal value 2
$vector->Negate($vector);

你的标题问题的答案是“不”;Perl中没有与
int
short
long
等价的语言。