| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5506 人关注过本帖, 1 人收藏
标题:一个浮点型变量 X,如何判断 X 的值是否为零?
只看楼主 加入收藏
墨玉紫冠
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-8-4
结帖率:75%
收藏(1)
已结贴  问题点数:10 回复次数:11 
一个浮点型变量 X,如何判断 X 的值是否为零?
我是个初学者,刚刚遇到这个问题。求帮忙。
我认为这个应该不会直接用


if (x==0)
   
else
   不是
搜索更多相关主题的帖子: 如何 
2014-08-04 16:30
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:5 
浮点型数据都一般是这样比较的
float a,b;
double c,d;
if((a-b)<=10e(-5))     //-5可以改变,根据自己需要的精度来确定。所有的a,b都可换成c,d
      printf("a=b");
else printf("a!=b");

代码测试环境:  WinXP+C-Free5.0.
2014-08-04 16:39
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
因为浮点数有精度问题 实际中 是用这个数和一个非常小的数 比如1E-6 比较 如果绝对值小于 就认为等于零

程序代码:
#include <stdio.h>
#include <math.h>

int main(void)
{
    double n;
    scanf("%lf",&n);
    if (fabs(n) < 1E-6)
        printf("Equal\n");
    else
        printf("Not equal\n");
   
    return 0;
}

2014-08-04 16:42
墨玉紫冠
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-8-4
收藏
得分:0 
回复 2 楼 vvvcuu
谢谢啦。
2014-08-04 17:39
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:0 
回复 3 楼 zklhp
我也是初学C,这个0的绝对值,为什么要用1E-6来表示0的绝对值,-7,-8不可以么?
2014-08-04 19:58
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用乖乖0943在2014-8-4 19:58:03的发言:

我也是初学C,这个0的绝对值,为什么要用1E-6来表示0的绝对值,-7,-8不可以么?

可以 看你喜好和需求了
2014-08-04 20:01
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:0 
回复 6 楼 zklhp
谢谢啊
2014-08-04 20:06
imlwg
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2014-8-5
收藏
得分:0 
回复 3 楼 zklhp
难道0不是浮点型?精度能够和等号产生联系?上机实测一下最好
2014-08-05 20:34
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
0确实不是浮点型,而是实型。

0的浮点形式为0.0。

代码测试环境:  WinXP+C-Free5.0.
2014-08-05 21:05
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用vvvcuu在2014-8-5 21:05:44的发言:

0确实不是浮点型,而是实型。
 
0的浮点形式为0.0。

+1
2014-08-06 09:23
快速回复:一个浮点型变量 X,如何判断 X 的值是否为零?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016329 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved