在试验 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
而且,带小数总是大于用分数形式表达的。从形式上很难看出来是什么问题。
“函数 = 是用数学意义上的值来比较数字,而忽略类型上的区别。”
这么说,就是带小数的浮点数的数学意义值比理论上等值的分数的要大。