定義一個宏,比較兩個數a、b的大小,不能使用大於、小於、if語句

網上有較多的帖子討論一些面試的題目,其中有一道就是「定義一個宏,比較兩個數a、b的大小,不能使用大於、小於、if語句」 從原理上將,一個int整形變量,最高位是正負位,只要知道兩者差值最高位是正還是負,差是零還是非零就能知道兩個數的大小。 這裏簡單整理了網絡上給出的較多答案,並做了簡單的驗證。 驗證一: #define ZHENG(i) ((i >> 31) == 0) #define FU(i)
相關文章
相關標籤/搜索