关于位与预算的求奇偶

来源:6-1 Linux C位运算之按位与

把心刘

2016-10-10 19:28

#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;
}

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

写回答 关注

2回答

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

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

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

    把心刘

    谢谢你的回答

    2016-10-17 06:28:08

    共 1 条回复 >

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

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

Linux C语言结构体

C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来

118294 学习 · 162 问题

查看课程

相似问题