位运算判断奇偶数

昨天晚上在床上想到一个东西挺好玩的。拿出来分享一下。

以前写判断奇偶数的函数都是用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高一些吧?

赞赏

喜欢这篇文章?打赏1元

评论

www.3tkj9.info 回复

一位先生打算谋求一份当监狱门卫的工作。看守人问:“现在这儿有一群非常野蛮的家伙,你认为你能对付他们吗?”“没问题!”这位先生回答,“要是他们不规矩,让他们滚好了。”
www.3tkj9.info http://www.3tkj9.info

captcha