搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 比较两个数的大小题
标题:
比较两个数的大小题
只看楼主
forclwy
等 级:
业余侠客
帖 子: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
柳亚子
等 级:
论坛游民
帖 子:6
专家分:23
注 册:2009-8-31
第
2
楼
得分:20
沙发我坐
0x80000000是十六进制数据0100 000000000000000000000.....
与(a-b)求与
2009-08-31 21:15
非飞人
来 自:桐城
等 级:
论坛游民
帖 子:4
专家分:20
注 册:2009-8-31
第
3
楼
得分: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
等 级:
论坛游民
帖 子:17
专家分:81
注 册:2009-9-3
第
4
楼
得分:0
#difine Max(a,b) ((a)>(b)?(a):(b))
2009-09-03 16:26
mfkblue
等 级:
职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
第
5
楼
得分:0
简单问题为什么要复杂化?
因为000111看的麻烦,写的麻烦,所以进化出a>b,还要&来和二进制数去计算,蛋疼.
2009-09-03 16:54
hyfl
来 自:火星
等 级:
黑侠
帖 子:113
专家分:552
注 册:2008-11-20
第
6
楼
得分:0
来看3楼
“一切高手都是从菜鸟炼成的!”1099285180@
2009-09-03 18:32
mengfp
等 级:
论坛游侠
帖 子:45
专家分:141
注 册:2009-8-5
第
7
楼
得分:0
这样效率高
2009-09-07 18:27
7
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-284319-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.265048 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved