请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句

pkizhang 2006-11-15 03:55:37
请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
...全文
646 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alan001 2006-11-15
  • 打赏
  • 举报
回复
判定符号位:但需要知道a,b是几位二进制的整数
cy2005abc 2006-11-15
  • 打赏
  • 举报
回复
#define MAX(a,b) ((a-b)|(1<<31))==(a-b)?b:a
antterminator 2006-11-15
  • 打赏
  • 举报
回复
不知道你说的什么意思,给个简单的:

#define Compare(a, b) ((a) - (b))

int main()
{
int a = 10;
int b = 3;
if(Compare(a, b) > 0)
cout << "a > b" << endl;
else if(Compare(a, b) == 0)
cout << "a == b" << endl;
else
cout << "a < b" << endl;

return 0;
}
飞哥 2006-11-15
  • 打赏
  • 举报
回复
做差,判断正负
飞哥 2006-11-15
  • 打赏
  • 举报
回复
#define CMP(m,n,k) (k=m-n)?(k&0x80?printf("<"):printf(">")):printf("=")
mmqmjy 2006-11-15
  • 打赏
  • 举报
回复
非也,那个什么sizeof(类型)你怎么定义
再者,别忘了有signed和unsigned之别
left_zxp 2006-11-15
  • 打赏
  • 举报
回复
cy2005abc()正解,通用的话31改为( sizeof ( 类型 ) * 8 - 1 )就好了

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧