不使用< > ? : if 写一个Max的宏定义

#define MASK 0x80000000
#define IS_A_SMALL(a , b) ((((a) - (b))&MASK) == MASK)
#define MAX(a,b) (IS_A_SMALL(a,b)*(b) + IS_A_SMALL(b,a) *(a)+ ((a)==(b))*((a)+(b))/2)
// ==的优先级大于& | ^
posted on 2011-09-01 10:46  yangyh  阅读(259)  评论(0)    收藏  举报