1.統計二進位制中1的個數
#includeint countonebit(int num)
} return count;
}int main()
2.獲取乙個整數二進位制序列中所有的偶數字和奇數字,分別列印出二進位制序列
#includeint printnum(int num)
printf("\n");
//i初值為30,取num第二個位元位
//i=0:1不左移,取num最後乙個位元位
printf("偶序列:");
for (i = 30;i >= 0;i -= 2)
4.程式設計實現:兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同?
輸入例子 :
1999 2299
輸出例子 : 7
注意:此處1999和2299為十進位制數(不要和十六進製制混淆)
二進位制表示式:1999:011111001111
2299:100011111011
共7個為不同
#includeint main()
} printf("%d\n", count);
system("pause");
return 0;
}
按位異或運算子
參與運算的兩個值,如果兩個相應位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 0 0 0,0 1 1 0異或任何數 任何數 1 0 1,1 1 0 1異或任何數 任何數取反 任何數異或自己 把自己置0 1 ...
按位異或運算子
2 實現兩個值的交換,而不必使用臨時變數。例如交換兩個整數a 10100001,b 00000110的值,可通過下列語句實現 a a b a 10100111 b b a b 10100001 a a b a 00000110 3 在組合語言中經常用於將變數置零 xor a,a 1 static i...
運算子(二)按位異或運算子與左,右移位運算子
規則 相同為0,不同為1。有時兩個資料在異或後得到的結果跟兩個資料的值不同,有時會跟兩個值中某乙個值相同。所以在用的時候應該考慮清楚。比如 0010 0001 0011 這個得到的結果是不同。0000 0011 0011這個得到的結果是相同的。很多成對出現數字儲存在磁碟檔案中,注意成對的數字不一定是...