lisp - 在 Lisp 中,+ 函数实际上可以有多少个输入?

标签 lisp common-lisp

我是 Lisp 的新手,我想知道“+”函数是否真的有上限。

(我想这适用于所有其他算术函数“-”、“/”等)

最佳答案

是的,有一个上限,但确切的上限取决于实现。你保证能够通过至少 50,但这完全取决于。如果您需要对列表求和,最好使用 (reduce #'+ list),这应该比任何其他方法都具有更好的可扩展性。

Common Lisp HyperSpec有更多信息。

当谈到值范围时,有两种不同的情况,即 float 和整数。 float 本质上受其大小的限制,从单点 float 变为双点 float 的实现会让我大吃一惊。对于整数和有理数,CL 在 fixnums 和 bignums 之间无缝转换,因此限制是可用于实现的可用地址空间的函数。我怀疑复数也是如此(复数和有理数 -> 如果需要,转到大数;复数 float -> 发出超出范围的信号,或返回 Inf 或 NaN)。

关于lisp - 在 Lisp 中,+ 函数实际上可以有多少个输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974080/

相关文章:

clojure - 用 Clojure 重写 Land of Lisp Wizard 游戏

lisp - mapcar lisp 的替代品

raspberry-pi - 使用命令行参数调用 CCL + Quicklisp 脚本作为可执行文件并实现所需的输出

java - Lisp 中的帕斯卡三角形

lisp - finally 后立即循环关键字

common-lisp - sbcl - 如何消除 "undefined variable"警告?

tree - 检查节点是否属于 tree lisp

lisp:捕获标准输出和标准错误,将其存储在单独的变量中

lispworks 和 sbcl

lisp - Common LISP代码解释