我正在努力理解为什么
(= 1 1.0)
计算结果为false,而
(== 1 1.0)
评估为true.根据文档,==似乎只是在研究数字,但除此之外似乎没有太大的区别.那么,我错过了什么?
noi*_*ith 21
==检查数学等价.=数字检查等效的方式与适用的大小无关,但对表示严格:
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
假设,推理是浮点的表示可能失去精度,不应被视为等价于整数或精确表示.
| 归档时间: | 
 | 
| 查看次数: | 2035 次 | 
| 最近记录: |