在试验 CLisp 的数值比较的时候,发现一个奇怪的东西

CL-USER > (= 0.2 1/5)
NIL

CL-USER > (> 0.2 1/5)
T

CL-USER > (< 0.2 1/5)
NIL

但是,当不涉及到小数的时候是一切正常的

CL-USER > (= 1.0 1)
T

CL-USER > (= 1.0 10/10)
T

而且,带小数总是大于用分数形式表达的。从形式上很难看出来是什么问题。

“函数 = 是用数学意义上的值来比较数字,而忽略类型上的区别。”

这么说,就是带小数的浮点数的数学意义值比理论上等值的分数的要大。