一、原理
两个数相减的结果大于0,则加上结果的绝对值肯定大于零;
两个数相减的结果小于0,则加上他们的绝对值肯定等于0。
二、实例
(4-6)+|(4-6)| = -2+2 = 0 所以4 < 6;
(6-4)+|(6-4)| = 2+2 = 4 所以6 > 4。
#define COMPARE(x,y) ((x)-(y))+(abs((x)-(y))) != 0 ?1:0 //等价于(X>Y)?1:0
两个数相减的结果大于0,则加上结果的绝对值肯定大于零;
两个数相减的结果小于0,则加上他们的绝对值肯定等于0。
(4-6)+|(4-6)| = -2+2 = 0 所以4 < 6;
(6-4)+|(6-4)| = 2+2 = 4 所以6 > 4。
#define COMPARE(x,y) ((x)-(y))+(abs((x)-(y))) != 0 ?1:0 //等价于(X>Y)?1:0