位運算子的介紹

2021-06-27 02:06:20 字數 1150 閱讀 9579

前面的各種運算都是以位元組為最基本存貯單元進行操作的。但在很多系統程式中常常要求再位遺跡進行運算或者處理。c語言提供了6種位運算子

&按位進行與運算

|按位進行或運算

^按位進行異或運算

~按位進行取反運算

《按位進行左移

>>按位進行右移

注意只有~是單目運算子(只需乙個運算元),其他的都是雙目運算子(需要2個運算元),位運算子的運算元只能是整形或者字元型,不能使其他型別的資料

1&運算子

#include #include int main(void)

按位與運算子通常用來對某些位清零或者保留某些位,例如將a的高8位清0,只保留低8位

2按位或運算

#include #include int main(void)

3按位異或運算子

功能是按參與運算的兩數各對應的二進位制進行異或運算,當對應的二進位制相異時,結果為1,否則結果為0;

0^0=0;

1^0=1;

0^·1=1;

1^1=0;

#include #include int main(void)

4求反運算子~

為單目運算子

計算機內部是以補碼的形式表示乙個數,由補碼求原碼的規則如下:

1正數的原碼與補碼相同

2負數的原碼是除符號外,各位取反,再加1

例如111111111110110的原碼是

其中最高位是符號位,1表示負數,0表示正數,可知100000000001010為10進製數的-10

#include #include int main(void)

5左移運算子<<

左移運算子是雙目運算子,功能是將《左邊的運算元的各二進位制位全部左移若干位,由《右邊的數指定移動的位數,高位丟棄,低位補0

設a=3,計算a<<4,a的二進位制可表示為00000011,將00000011左移4位後為00110000(十進位制48)

#include #include int main(void)

按位運算子 位欄位介紹

左移,每左移一位相當於對原數 2 右移,每右移一位相當於對原數 2 注 若結果為小數,則只保留整數部分,例如對5右移一位,結果為2。2 位欄位 位欄位可以節省記憶體空間,提高執行效率,是乙個很有用的程式設計方法 其實也是乙個結構體,如下 1 struct byte2 910struct byte b...

python位運算子詳細介紹

a 60b 13 10進製轉換成二進位制字串 a bin bin a replace 0b b bin bin b replace 0b print a bin 00111100 print b bin 00001101 按位與運算子 參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為...

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...