【发布时间】:2012-12-06 00:16:37
【问题描述】:
有没有办法在 Clojure 中执行任意精度求幂?我已经尝试过 Math/pow 和 clojure.math.numeric-tower 中的 expt 函数,但两者都只会返回有限的精度。例如:
(with-precision 100 (expt 2 1/2))
=> 1.4142135623730951
如何获得更多数字?
【问题讨论】:
-
你想要多少位数?
sqrt(2)不能表示为有理数(作为两个有限数的分数)。你想要一个懒惰的数字列表吗? -
我试图通过使用“精确”来获得 100 位数字,但正如您所见,它什么也没做。答案是:我想指定精度。 expt 函数接受 bigdec 参数,但只返回有限精度的结果。