位運算判斷奇偶數
昨天晚上在床上想到一個東西挺好玩的。拿出來分享一下。
以前寫判斷奇偶數的函數都是用
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高一些吧?