關(guān)于位與預(yù)算的求奇偶
#include?<stdio.h>
int?main(){
?int?a=4;//00000000?00000000?00000000?00000100
?int?c=a&1;
?if(c==0)?{
?printf("a是奇數(shù)\n");
?}
?else?{
?printf("a是偶數(shù)\n");
?}
return?0;
}我理解太差了吧。。。如果寫判斷奇偶的話,到底該怎么寫?。?/p>
#include?<stdio.h>
int?main(){
?int?a=4;//00000000?00000000?00000000?00000100
?int?c=a&1;
?if(c==0)?{
?printf("a是奇數(shù)\n");
?}
?else?{
?printf("a是偶數(shù)\n");
?}
return?0;
}我理解太差了吧。。。如果寫判斷奇偶的話,到底該怎么寫?。?/p>
2016-10-10
舉報(bào)
2016-10-11
這個(gè)問題很容易理解, 奇數(shù)的2進(jìn)制,最低位(也就是最右邊的那一位)一定為1,而偶數(shù)一定為0.?
然后你再用1去與這個(gè)奇數(shù)或者偶數(shù)做位運(yùn)算。就很容易看出來了。
2016-10-11
你的判斷式剛好寫反了,為真就是奇數(shù),為假就是偶數(shù)