在Perl中是否有任何标准方法可以使用任意长度的整数?我正在研究为测试生成x64程序集的代码,我厌倦了一次操作32位。
我正在使用Perl 5.10.0,这是值得的。
答案 0 :(得分:15)
答案 1 :(得分:10)
如果您只想使用大整数,可以使用bigint
,您可以将其范围扩展到文件:
use bigint;
或仅限范围:
{
use bigint;
...;
}
如果您需要大浮点数和大整数,则可以以相同的方式使用bignum
编译指示。无论哪种方式,这些都会稍微减慢你的程序速度(或者如果你做了大量的数学计算会显着减慢程度),所以你应该只将它们用于你真正需要它们的部分。但是,速度并不快于正确。 :)
如果您希望非常精确地控制哪些数字使用big*
数学,您可以使用实现它们的基础类并自己创建对象,而不是将big*
语义应用于所有内容。看看Math::Big*
个模块。
我在Mastering Perl的基准测试章节中更多地讨论了这个问题,因为现在计算机速度过快,使用因子作为慢速函数,我们还在即将到来的{{3}中添加了一个关于大数字的部分。 }。