位操作運算子

2021-07-24 09:51:11 字數 917 閱讀 4506

1.按位與運算子:

按位與運算子「&」是雙目運算子。其功能是參與運算的兩個數字對應的二進位制位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。

例如,9&5可寫算式如下:

00001001(9的二進位制補碼)&00000101(5的二進位制補碼)

00000001 (1的二進位制補碼)

0000 1001

0000 0101

0000 0001 = 1

可見9&5=1。

其主要的應用有:

(1)將某些特定位清0

(2)保留某些特定位

2.按位或運算子:

按位或運算子「|」是雙目運算子。其功能是參與運算的兩個數字對應的二進位制位相或。只要對應的兩個二進位有乙個為1時,結果位就為1。參與運算的兩個數均以補碼出現。

例如,9|5可寫算式如下:

00001001|00000101

00001101 (十進位制為13)

可見9|5=13

其主要應用有:用來將源運算元某些位置1,其他位不變。

3.按位異或運算子:

按位異或運算子「^」是雙目運算子,其功能是參與運算的兩個數字對應的二進位制位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現。

例如,9^5可寫成算式如下: 

00001001^00000101

00001100 (十進位制為12)

其主要應用有:

(1)使特定位的值取反。

(2)不引入第三變數,交換兩個變數的值。

4.使用位操作運算子的優點:

使用位操作可以減少除法和取模的運算。在電腦程式中資料的位是可以操作的最小資料單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者進行資料變換,但是,靈活的位操作可以有效地提高程式執行的效率。

位運算子 操作符

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

Python 位操作運算子

按位與運算子 參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 a b 輸出結果 12 二進位制解釋 0000 1100 按位或運算子 只要對應的二個二進位有乙個為1時,結果位就為1。a b 輸出結果 61 二進位制解釋 0011 1101 按位異或運算子 當兩對應的二進位相異時,...

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

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