關于位與預算的求奇偶
#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; }
我理解太差了吧。。。如果寫判斷奇偶的話,到底該怎么寫???
#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
舉報
2016-10-11
這個問題很容易理解, 奇數的2進制,最低位(也就是最右邊的那一位)一定為1,而偶數一定為0.?
然后你再用1去與這個奇數或者偶數做位運算。就很容易看出來了。
2016-10-11
你的判斷式剛好寫反了,為真就是奇數,為假就是偶數