我正在尝试使用Julia并发现它在运行时提供的值不正确:
输入:
println(1000^6)
println(1000^7)
println(1000^8)
println(1000^9)
输出:
1000000000000000000
3875820019684212736
2003764205206896640
-6930898827444486144
这是一个问题,还是我做错了?
答案 0 :(得分:6)
正如所解释的那样,问题是整数溢出造成的。由于
,可以获得可以存储在Int64中的最大值julia> typemax(Int64)
9223372036854775807
但是,1000^9
更大,您可以看到:
julia> BigInt(1000)^9
1000000000000000000000000000