比如说我想计算一个很大的数字的阶乘,比如30。我不知道存储factorial(30)需要多少位,但是两者都可以使用BigInt和普通整数类型进行计算。
test = Int128
test = factorial(30)
并且
test = BigInt
test = factorial(30)
生成的结果为-8764578968847253504
,显然是错误的。
根据Julia lang文档,似乎这种类型(BigInt)定义了常规的数学运算符,并将结果提升为BigInt
。因此我无法看出我做错了什么,显然我误解了一些东西。希望你们中的一些人可以为我解释一下 :)
附:我正在运行64位的Windows 7,如果有任何影响,请告诉我。
BigInts
时会坚持使用显式转换 :) - kip820