理解这个问题的实质在于计算机硬件的精度,
double精度在硬件里是 1 (sign) + 11 (exp) + 52 (mantis)
加减法,乘法,结果都有可能会溢出
除法在很多情况下就是除不尽的,所以这里就是有截断以及取舍,这样有可能结果本身就难精确
所以不精确的比较当然没有意义
如果直接定义一个不溢出的字面值常量,这个值本身是精确的,比较就有意义了
这个东西网上看点IEEE754相关文章就知道了
【 在 ilovecpp 的大作中提到: 】
: 嗯。问题是似乎(这楼里)很多人把浮点数表示和运算的精度限制理解成浮点数有某种不确定性。例如
: float x = 0.3
: 然后他们以为x==0.3就不一定成立了。
: ...................
--
修改:eematlab FROM 101.86.21.*
FROM 59.78.171.*