gpt4 book ai didi

Clojure:= vs ==

转载 作者:行者123 更新时间:2023-12-04 00:38:42 25 4
gpt4 key购买 nike

我正在努力理解为什么

(= 1 1.0)

计算结果为 false
(== 1 1.0)

计算结果为 true .根据 docs , ==似乎只在数字上工作,但除此之外似乎没有太大区别。那么,我错过了什么?

最佳答案

==检查数学等价性。 = with numbers 在适用的情况下以与大小无关的方式检查等效性,但对表示严格:

user> (= (float 1.0) (double 1.0))
true
user> (= (int 1) (byte 1))
true
user> (= (int 1) (double 1))
false
user> (= 0.5 (/ 1 2))
false
user> (== 0.5 (/ 1 2))
true

推测的原因是浮点表示可能会失去精度,不应将其视为与整数或精确表示等效。

关于Clojure:= vs ==,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479723/

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