C语言,浮点数比大小

曾经听老师说,实型的数值在计算机中,好像是小数点后第六位还是第几位是随机的,那么两个实型数之间不能用<或者>比大小。但是今天我做题的时候,2级C模拟真题中有个题目就是用了... 曾经听老师说,实型的数值在计算机中,好像是小数点后第六位还是第几位是随机的,那么两个实型数之间不能用<或者>比大小。
但是今天我做题的时候,2级C模拟真题中有个题目就是用了这个<>比大小,但是VC有效,谁能解释一下不?
是我记错了吗?
展开
 我来答
larry_evants
推荐于2017-11-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4544
采纳率:0%
帮助的人:5085万
展开全部
在计算机中表示一个浮点数,其结构如下:   
尾数部分(定点小数) 阶码部分(定点整数)
是2的指数形式来表示小数。因此一个小数用浮点数来表示,肯定是有误差的。

比如说两个运算过程,它们的结果都是2,但是由于浮点运算过程不一样,它结果可能有差异,比如说可能一个结果为2,一个结果为1.9999999999.

因此用==号来比较,会得出错误的结果,浮点数比较相等的时候,用两个数的相减,当小于一个比较小的值时,就认为相等。
但用><比较大小是可以的。
杜茂彦rc
2011-08-04 · TA获得超过1143个赞
知道小有建树答主
回答量:1314
采纳率:100%
帮助的人:1182万
展开全部
不能用等于号比较,可以使用><比较
追问
谢谢,如果是用等于号的话是不是要用这样的形式。
x-e<=1e-6
追答
应这样 if ( x>k-0.00001 && x < k+0.00001)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式