位運算操作符詳解二

2021-07-24 22:48:08 字數 771 閱讀 8909

位運算是指進行二進位制的運算。在系統軟體中,常需要處理二進位制位的問題。例如,將乙個儲存單元中的各二進位制位左移或右移一位,兩個數按位相加等。c語言提供位運算的功能。

運算子   含義

&     按位與

|     按位或

^     按位異或

~     取反

<<    左移

>>    右移

說明:位運算子中,除了 ~ 取反以外,均為二目(元)運算子,即要求兩側各有乙個運算量。

運算量只能是整型或字元型資料,不能是實型資料。

與運算子特點:

1、如果參加 與 運算的是負數,則以補碼形式表示為二進位制數,然後按位進行 與 運算。

2、清零。

3、取乙個數中的某些指定位。

4、保留某乙個數

或運算子特點

1、兩個相應的二進位制位中只要有乙個為1,該位的結果值為1。

2、或運算可以指定某些位的值為1. 異或

1、若參加運算的兩個二進位制位同號,則結果為零;異號則為1。

2、使特定位翻轉。

3、與0相異或,保留原值。

4、交換兩個值,不用臨時變數

比如 :  a = 3,b = 4。交換a、b。

語句 :  a = a ^b;b = b^a;a = a^b

取反運算子 :

: ~ 是乙個單目(元)運算子,用來對乙個二進位制數按位取反,即將0變一,將1變0.

左移運算子  <<     a = a << 2  將a左移兩位。

右移運算子  >>

位運算操作符

與運算,二元操作符,對兩個操作員的每個二進位制位進行與運算,運算規則為 1 1 1 1 0 0 0 1 0 0 0 0 異或運算,二元操作符,對兩個操作員的每個二進位制位進行異或運算,運算規則為 1 1 0 1 0 1 0 1 1 0 0 0 或運算,二元操作符,對兩個操作員的每個二進位制位或運算,...

位運算子 操作符

按位與 按位或 取反 按位異或 按位異或可以實現兩個變數值的交換,但是並不推薦。a b b a a b 都是雙目運算子,將二進位制向左移動指定位,高位丟棄,低位補0.當為負數時,根據編譯系統的規定補0,或者1.例 0x01 2 3 這裡要考慮運算子的優先順序。的優先順序大於 的優先順序,所以0x01...

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...