我有一种情况,数据文件中的某些值有64位环绕,这使得它们非常大,例如18446744073709551608
。
所以我必须从2 ^ 64执行减法。我用简单的
尝试了这个2^64 - 18446744073709551608
但我猜这个数字太大而且没有得到实际答案8.我需要做些什么来执行这种减法。
答案 0 :(得分:10)
答案 1 :(得分:4)
请注意,bignum只是一个自动生成Math :: BigFloat或Math :: BigInt对象的所有常数的图层。如果您只想要某些数字,可以在限制范围内指定use bignum;
,在地方添加no bignum;
,或明确使用Math::BigFloat->new('your constant')
(或BigInt)来制作特定数字和涉及他们的任何操作的结果都很大。
答案 2 :(得分:0)
use bignum ;
print 2**64 - 18446744073709551608 ,"\n" ;
在perl语言中,^ = **,mod =% 祝你好运!