C語言中提供了位運算使得C語言能像匯編一樣直接編寫系統程序, 在一些內存比較嚴格的場合使用位運算能有效地節省內存; C語言提供如下位運算: & 位與 如果兩個相應的二進制位都為1,則該位的結果值為1,否則為0 | 位或 兩個相應的二進制位中只要有一個為1,該位的結果值為1 ^ 位異或 若參加運算的兩個二進制位值相同則為0,否則為1 ~ 位取反 用來對一個二進制數按位取反,即將0變1,將1變0 << 左移 用來將一個數的各二進制位全部左移N位,右補0 >> 右移 將一個數的各二進制位右移N位,移到右端的低位被捨棄,對 於無符號數,高位補0 舉個例子: [cpp] #include<stdio.h> int main() { short a1=521; short a2=123; short And,Or,Not,AndOr; And=a1&a2; Or=a1|a2; Not=~a1; AndOr=a1^a2; printf("a1,a2位與是:%d\n",And); printf("a1,a2位或是:%d\n",Or); printf("a1,a2位取反是:%d\n",Not); printf("a1,a2位異或是:%d\n",AndOr); return 0; }