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

一、原理

两个数相减的结果大于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

你可能感兴趣的:(linux驱动,linux)