位運算 57 普通的位運算

2021-08-18 11:47:36 字數 904 閱讀 2698

要求說明:當 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 取乙個數中某些指定位。如想要取乙個整數...