问答详情
源自:6-1 Linux C位运算之按位与

关于位与预算的求奇偶

#include <stdio.h>

int main(){
 int a=4;//00000000 00000000 00000000 00000100
 int c=a&1;
 if(c==0) {
	 printf("a是奇数\n");
 }
 else {
	 printf("a是偶数\n");
 }
return 0;
}

我理解太差了吧。。。如果写判断奇偶的话,到底该怎么写啊?

提问者:把心刘 2016-10-10 19:28

个回答

  • abcba1
    2016-10-11 11:33:43
    已采纳

    这个问题很容易理解, 奇数的2进制,最低位(也就是最右边的那一位)一定为1,而偶数一定为0. 

    然后你再用1去与这个奇数或者偶数做位运算。就很容易看出来了。

  • abcba1
    2016-10-11 11:35:59

    你的判断式刚好写反了,为真就是奇数,为假就是偶数