關于位與預算的求奇偶
#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
你的判斷式剛好寫反了,為真就是奇數,為假就是偶數