天天看點

位運算判斷奇偶數位運算判斷奇偶數

位運算判斷奇偶數

昨天晚上在床上想到一個東西挺好玩的。拿出來分享一下。

以前寫判斷奇偶數的函數都是用

retrun(0 == n%2 ? TRUE : FALSE)

這句話寫。後來我想,一個整數的二進制碼最後一位,奇數是1,偶數是0。我們把n和1按位與,就能得到1或者0。于是我的函數還能這麼寫:    

BOOL IsOddNum(int n){
    return(n&1 ? TRUE : FALSE);
}           

複制

如果是奇數則輸出TRUE,否則輸出FALSE. 效率應該會比n%2高一些吧?