比较两个浮点数是否相等用什么运算符

 我来答
suntsshare
推荐于2017-11-23 · TA获得超过181个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:121万
展开全部
虽然比较两个数相等要用等于号,但是,由于计算机上的浮点数存储的规则的限制,导致数据的比较上要考虑浮点数的精度问题.

所以, 如果你允许数据的偏差在 0.001的话,那么,你可以
if ( a - b < 0.001) 认为a=b
当然,这个偏差本身是浮点数,所以,按照IEEE754的标准,但精度浮点数有效位最多小数点后7位。而双精度则是最多小数点后15位。因此,你指定的这个偏差要是“合理”的才行。

你使用浮点数来保存数值,并不表示你的业务上来的数据就肯定是7位精度,很可能是3位的精度,就比如我上面给你的例子,千分之一的精度。
当两个浮点数的差在我们可接受的精度范围内时,便可认为它俩是相等的。
这似乎有点像模糊数学的相等啊,比如3.24我可以近似认为是3.2,他们的差在0.05内。

如果你是编成的初学者,可以忽略我上面的回答,暂时使用 等于号比较即可。比如,C语言里的等于是 ==。只是,在某些情况下,虽然表面上看两个浮点数是一样的,但计算机会判断它们是不一样的,这个原因就是我上面回答的内容。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式