要求說明:當 a=2,b=4,c=6,d=8時程式設計求a&c , b|d , a^d , ~a的值。
解:單目運算子 &,|,^,~.都是對對應整數轉化成二進位制數後按位比較計算
&:兩個相應二進位中,都為1,該位為1,否則為0
|:兩個相應二進位中,有乙個1,該位為1,否則為0
^:兩個相應二進位,相同為0,不同為1;
~:單目運算子,作用對二進位制數按位取反,0反為1,1反為0;
//普通位運算
#include
int main(int argc, char **argv)
{unsigned result;
int a = 2,b = 4, c = 6,d = 8;
printf("a = %d , b = %d , c = %d , d = %d \n",a,b,c,d);
result = a & c; //按位與運算
printf("a&c = %u\n",result);
result = b|d; //按位或運算
printf("b|d = %u\n",result);
result = a^d; //按位異或運算
printf("a^d = %u\n",result);
result = ~a; //取反運算
printf("~a = %u\n",result);
return 0;
樣例輸入輸出:
a = 2 , b = 4 , c = 6 , d = 8
a&c = 2
b|d = 12
a^d = 10
~a = 4294967293
普通位運算
include int main void 按位與 運算子 參加運算的兩個運算子,如果都為1,則該位為1,否則為0 按位或 運算子 兩個相應位中只要有乙個為1,則該位的結果為1.按位異或 運算子 參加運算的兩個相應位,同號則結果為0 假 異號則結果為1 真 取反 運算子 他是乙個單目 元 運算子,用...
位運算(1) 初識位運算
前段時間數電課學了些進製轉換,還有與或非等邏輯運算,如今再來看看位運算,倒輕鬆了不少。很早就想寫些非總結性部落格了,奈何還是太懶。也也不知怎的突然又來了興致,趕忙寫下這篇部落格。廢話不多說,今天準備總結總結關於位運算的知識。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的,即0 1兩種狀態,...
位運算子和位運算
一 按位與 運算子 1 運算規則 參加運算的兩個 資料,按二進位進行 與 運算,如果兩個相應的二進位都為1,則該位的結果值為1,否則為0,即 0 0 0,0 1 0,1 0 0,1 1 1.2 用途 1 清零 運算物件 原來的數中為1的位,新數中相應位為0。2 取乙個數中某些指定位。如想要取乙個整數...