如何解决是否有其他语言内置了诸如scheme之类的有理类型?
| 我还没有听说过,大多数语言似乎都是整数整数或为浮点数。是否在方案中发现了问题,因此未在其他语言中使用?解决方法
计划的理性有很大的支持。大多数语言没有内置的bignums。
我认为,没有内置bignums的内置理性是没有意义的,因为没有bignums的情况下,您将在某一点之后开始失去精度,并且最好通过使用浮点数来提前了解有损性。
, 您在问分数吗?如果是这样,Smalltalk拥有它们:
(4/5) + (3/2)
计算结果为:
(23/10)
, 普通Lisp:
CL-USER> (+ 4/5 3/2)
23/10
因子:
( scratchpad ) 4/5 3/2 + .
23/10
Haskell 98:
Prelude> (4/5) + (3/2) :: Rational
23 % 10
, 您会问:\“是否发现它在方案中有问题,因此没有在其他语言中使用?\”答案是“否”,但这是一个有趣的问题。从广义上讲,Scheme / Racket可能是一系列语言的象征,当在“正确”和“易于实现”之间进行选择时,每次都选择“正确”。许多其他语言做出的选择是将数字表示形式显式公开为一个有限的有限元素,并要求程序员在该领域中进行操作。相反,Scheme / Racket提供了一种表示形式,可以处理任意数量的数字,仅受评估代码的机器内存的限制。这与决定无异
几乎所有现代编程语言都提出使用垃圾收集,而不是强迫程序员显式分配和取消分配内存。
正如克里斯指出的那样,数字作为有理数的表示几乎总是与“大数”并存。有很多支持bignum的语言-Scheme,Racket,Ruby,Python等。当然,任何图灵完备的语言都可以扩展以处理bignum,包括C。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。