不用比较操作符和 if / switch / ?: 比较两数大小,并求最大值
1. 比较两数大小
相减之后看符号位
#define CMP(a,b) (((long)((a) - (b))) >> 31) - (((long)((b) - (a))) >> 31)
返回1表示a>b,返回-1表示a<b,返回0表示a==b
2. 求两数最大值
1. 比较两数大小
相减之后看符号位
#define CMP(a,b) (((long)((a) - (b))) >> 31) - (((long)((b) - (a))) >> 31)
返回1表示a>b,返回-1表示a<b,返回0表示a==b
2. 求两数最大值