如何在没有溢出的情况下在 Julia 中保存 10^19

log*_*ick 8 julia

我试图将数字 10^19 保存在 Julia 的变量中。

我知道它正在溢出,但我认为做类似的事情BigInt(10^19)Int128(10^19)会解决问题,但事实并非如此。

有什么想法吗?

查看 Julia 的溢出行为

Bil*_*ill 13

Julia 默认执行 Int64 算术,因此在遇到周围括号转换为更大类型之前,10^19 作为默认 Int64 溢出。尝试

Int128(10)^20 == BigInt(10)^20 == big"10"^20
Run Code Online (Sandbox Code Playgroud)