| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2042 人关注过本帖
标题:[讨论]比较A,B的大小
只看楼主 加入收藏
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
以下是引用nuciewth在2007-11-18 10:26:08的发言:
还没去想,但可以确定5楼的是错的.
看清楚题目先.补充:A,B是两个实数(可正可负,还可能是0)

我看到是实数了
只不过我个人觉得实数是无解的
就弄了个int版的


[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-11-18 11:27
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
条件运算符都可以用
a-b然后移位,看移出的最高位c
c?printf("b比a大"):printf("a比b大");

倚天照海花无数,流水高山心自知。
2007-11-18 11:34
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

不对,还有个相等没有判断,那在前面直接
a-b? printf(""):printf("相等");


倚天照海花无数,流水高山心自知。
2007-11-18 11:36
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用nuciewth在2007-11-18 11:26:14的发言:
哦,那如果是0.000000001
和0怎么比较.

你这个怎么行呢,你输入的数当然要在float的精度之内是不,超过float的精度还有什么意思

在精度之内,不同的数肯定表示结果肯定不同


雁无留踪之意,水无取影之心
2007-11-18 11:41
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
以下是引用nuciewth在2007-11-18 11:34:44的发言:
条件运算符都可以用
a-b然后移位,看移出的最高位c
c?printf("b比a大"):printf("a比b大");

《程序员面试宝典》这本书上是这么弄的

int c = a - b;
char *strs[2] = { "a大", "b大" };
c = unsigned(c) >> (sizeof(int) * 8 - 1);
printf("%s", strs[c]); (原书没这句,我寻思着它的意思自己加的,呵呵。)


[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-11-18 11:41
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用succubus在2007-11-18 11:25:55的发言:

按你题目的要求,? :也不应该用的,这跟直接用if进行判断没两样了

条件运算符是条件运算符,IF是IF怎么不能用


雁无留踪之意,水无取影之心
2007-11-18 11:41
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
以下是引用PcrazyC在2007-11-18 11:41:55的发言:

条件运算符是条件运算符,IF是IF怎么不能用

你要用随你便
ok?


[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-11-18 11:43
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用PcrazyC在2007-11-18 11:41:00的发言:

你这个怎么行呢,你输入的数当然要在float的精度之内是不,超过float的精度还有什么意思

在精度之内,不同的数肯定表示结果肯定不同

补充:A,B是两个实数(可正可负,还可能是0)


倚天照海花无数,流水高山心自知。
2007-11-18 11:43
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用PcrazyC在2007-11-18 11:41:55的发言:

条件运算符是条件运算符,IF是IF怎么不能用

你当然可以这样说,但你也要看实质吧.
发觉你越来越不讲理了


倚天照海花无数,流水高山心自知。
2007-11-18 11:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用nuciewth在2007-11-18 11:44:26的发言:

你当然可以这样说,但你也要看实质吧.
发觉你越来越不讲理了

你做出来再说

要是任意的实数比较,不过要在计算机能处理的精度内


雁无留踪之意,水无取影之心
2007-11-18 11:55
快速回复:[讨论]比较A,B的大小
数据加载中...
 
   



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

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