gpt4 book ai didi

clojure - Clojure 中的浮点精度

转载 作者:行者123 更新时间:2023-12-05 01:34:05 31 4
gpt4 key购买 nike

我正在尝试学习 Clojure 并尝试定义这个简单的函数:

user=> (defn triple [arg] (* 3 arg))
#'user/triple
user=> (triple 1)
3
user=> (triple 1.01)
3.0300000000000002

谁能解释一下为什么这里的结果末尾有一个 2?

最佳答案

由于 float 在计算机上的表示,对这些数字的运算并不精确。它适用于 JVM 和物理机。参见 Floating point inaccuracy examples进行更长时间的讨论。还有一篇综合文章What Every Computer Scientist Should Know About Floating-Point Arithmetic链接到该问题的答案。

关于clojure - Clojure 中的浮点精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498760/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com