使用按位运算符比较浮点数

0 c floating-point bitwise-operators

如何使用一系列按位运算来比较浮点值?

JSB*_*ոգչ 6

别.只是......不要.使用==,或其野生和古怪的neigbors ><.甚至还有疯狂的杂种,<=并且>=!这些应涵盖所有浮动比较需求.

更新:没关系,不要使用==.其他人应该没事.

更新更新:不使用==意味着你可能不应该使用<=或者>=.这个故事的寓意是花车很狡猾,这就是为什么你绝对不应该对它们进行按位操作.

  • +1,好笑,但我不建议`==`.坚持abs(xy)<= epsilon,其中epsilon代表你的精确度. (7认同)
  • 如果您使用 == 的 epsilon 值(正如您应该的那样),您还应该将它用于 &lt; 和 &gt;。否则,您会将自己置于 a &lt; b 和 insideEpsilon(a,b) 都为 true 的位置。 (3认同)