什么时候可以直接比较浮点数?
Coursera 算法课中有一份材料(FAQ第八个问题)提到了该课程项目中可以直接比较浮点数,具体情况这样的:
输入的整数a
和b
的取值范围为[-32,767, 32,767]
,直接比较浮点数a1/b1
与a2/b2
能够得出正确的答案。原因是IEEE-754规定了浮点数预算的结果使用临近值表示。
但我还是不大清楚,为什么使用临近值表示运算结果就能够直接比较?虽然直接比较浮点数不是一个好习惯,但是还是想请问什么情况下能够直接比较浮点数?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为这个范围内的任何两个数相除得到的结果中,误差最小的也比浮点数的精度要大。
浮点数还分直接比较和间接比较?
比如这样,怎么比都相等:
再换成Double,怎么比都不相等: