Clojure无符号64位整数

时间:2014-02-08 09:52:39

标签: clojure

如何在Clojure中定义无符号 long? (或者标准库中是否有任意大小的整数,例如某种 BigInt BigNum ?)

我只在按位操作中使用它,所以从技术上讲,二进制数据表示的数值并不那么重要,但我仍然希望数字> 2 63 显示为我println时的正整数。

1 个答案:

答案 0 :(得分:1)

我建议只编写一个自定义函数,将long转换为具有相应无符号表示的字符串。

类似的东西:

(defn long-str [x] 
     (if (> x 0) 
       (str x)
       (str (+ (bigint x) 18446744073709551616N))))

(long-str -1)
=> "18446744073709551615"
相关问题