为什么Clojure关于整数溢出不一致?

时间:2019-02-02 07:28:20

标签: clojure integer-overflow

如果我直接将一个大数强制转换为int,它会抱怨存在超出范围的错误。

user=> (def x 4294967297)
user=> (int x)
Execution error (IllegalArgumentException) at user/eval1 (REPL:1).
Value out of range for int: 4294967297

但是,当我创建一个int数组时,它很乐意接受。

user=> (aget (int-array 1 x) 0)
1

的Clojure 1.10.0

0 个答案:

没有答案