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

网上有较多的帖子讨论一些面试的题目,其中有一道就是“定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句” 从原理上将,一个int整形变量,最高位是正负位,只要知道两者差值最高位是正还是负,差是零还是非零就能知道两个数的大小。 这里简单整理了网络上给出的较多答案,并做了简单的验证。 验证一: #define ZHENG(i) ((i >> 31) == 0) #define FU(i)
相关文章
相关标签/搜索