| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1612 人关注过本帖
标题:比较两个数的大小题
只看楼主 加入收藏
forclwy
Rank: 4
等 级:业余侠客
帖 子:167
专家分:255
注 册:2008-10-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
比较两个数的大小题
谁能帮我解释下:
#define MAX(a,b) ((long)(a-b)&0x80000000 ? b:a)
0x80000000这块是什么??
谢啦
搜索更多相关主题的帖子: long 
2009-08-31 20:17
柳亚子
Rank: 2
等 级:论坛游民
帖 子:6
专家分:23
注 册:2009-8-31
收藏
得分:20 
沙发我坐
0x80000000是十六进制数据0100 000000000000000000000.....
与(a-b)求与
2009-08-31 21:15
非飞人
Rank: 2
来 自:桐城
等 级:论坛游民
帖 子:4
专家分:20
注 册:2009-8-31
收藏
得分:0 
32位的int此值为(INT_MIN)0x80000000,即–2147483648 用二进制第一位为1
&为位运算中的与运算:
若a > b ,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a;
否则,a-b为负数,二进制最高位为1,与上0x80000000(最高位为1其他为0)之后为1,所以此时的大数为b.
2009-09-03 12:53
kqscy1
Rank: 2
等 级:论坛游民
帖 子:17
专家分:81
注 册:2009-9-3
收藏
得分:0 
#difine Max(a,b) ((a)>(b)?(a):(b))
2009-09-03 16:26
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:0 
简单问题为什么要复杂化?
因为000111看的麻烦,写的麻烦,所以进化出a>b,还要&来和二进制数去计算,蛋疼.
2009-09-03 16:54
hyfl
Rank: 7Rank: 7Rank: 7
来 自:火星
等 级:黑侠
帖 子:113
专家分:552
注 册:2008-11-20
收藏
得分:0 
来看3楼

“一切高手都是从菜鸟炼成的!”1099285180@
2009-09-03 18:32
mengfp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:141
注 册:2009-8-5
收藏
得分:0 
这样效率高
2009-09-07 18:27
快速回复:比较两个数的大小题
数据加载中...
 
   



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

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