Nat*_*man 7 perl integer arbitrary-precision
在Perl中是否有任何标准方法可以使用任意长度的整数?我正在研究为测试生成x64程序集的代码,我厌倦了一次操作32位.
我正在使用Perl 5.10.0,因为它的价值.
mob*_*mob 15
bri*_*foy 10
如果您只想使用大整数,则可以使用bigint,您可以将其作为文件的范围:
use bigint;
Run Code Online (Sandbox Code Playgroud)
或只是一个有限的范围:
{
use bigint;
...;
}
Run Code Online (Sandbox Code Playgroud)
如果你需要大的浮点数和大整数,你可以用bignum同样的方式使用pragma.无论哪种方式,这些都会稍微减慢你的程序速度(或者如果你做了大量的数学运算,那么你的程序会很明显),所以你应该只将它们用于你真正需要它们的部分.但是,速度并不快于正确.:)
如果您希望非常精确地控制使用big*数学的数字,您可以使用实现它们的基础类并自己创建对象,而不是将big*语义应用于所有内容.看那些Math::Big*模块.
我在Mastering Perl的基准测试章节中更多地讨论了这个问题,因为现在计算机速度过快,使用因子作为慢速函数,我们还在即将发布的有效Perl编程第2版中添加了一个关于大数字的部分.
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |