按位運算子 python

2021-10-16 08:08:28 字數 1177 閱讀 7263

按位運算子是二進位制的運算子,計算結果為int型。

a=11&

2print

(type

(a),a)

//結果是2

1.將兩個數都化為二進位制,11(1011),2(10)

2.將位數少的用0補齊,在左邊補0與位數多的位數一致,例如2(0010)

3.將11與補齊後的2,每一位進行比較,若相同位都為1,就取1反之取0

4.將取後的值列出(0010)

5.將值轉化為十進位制為2

b=11|

2print

(type

(b),b)

//結果是11

1.將兩個數都化為二進位制,11(1011),2(10)

2.將位數少的用0補齊,在左邊補0與位數多的位數一致,例如2(0010)

3.將11與補齊後的2,每一位進行比較,若相同位處有乙個為1就取1,反之兩個都為0就取0

4.將取後的值列出(1011)

5.將值轉化為十進位制為11

c=11^

2print

(type

(c),c)

//結果是9

1.將兩個數都化為二進位制,11(1011),2(10)

2.將位數少的用0補齊,在左邊補0與位數多的位數一致,例如2(0010)

3.將11與補齊後的2,每一位進行比較,若兩個數相同位處的數字不同就取1,反之兩個相同就取0

4.將取後的值列出(1001)

5.將值轉化為十進位制為9

d=

11<<

2print

(type

(d),d)

//結果是44

1.將11轉化為2進製(1011)

2.將根據按位符右邊的數字,將二進位制的1011左移2位,空位用0補齊(101100)

3.將得到的新數字轉化為十進位制 44

e=

11>>

2print

(type

(e),e)

//結果是2

1.將11轉化為2進製(1011)

2.將根據按位符右邊的數字,將二進位制的1011右移2位(10)

3.將得到的新數字轉化為十進位制 2

按位運算子

基本運算子 按位與運算子,可以對變數s的特定位清零,這時可以設定乙個變數mask,將mask中的特定位賦值為0,其他位置為1,然後作運算 s s mask 即可特定位清零。使用按位與運算,可以取變數s的指定位的值,這時可以設定乙個變數mask,將mask中的指定位賦值為1,其他位置賦值為0,然後作運...

按位運算子

1.按位取反或者二進位制補碼 把1變為0,把0變為1 2.按位與 任何位與0組合都為0,任何位與1組合都為本身 應用 關閉位 清空位 需要開啟乙個值中的特定位,同時保持其他位不變 所有位為0 把1變為0,其餘位不變。假設有乙個二進位制數00011010 從左到右的第4位1表示開關,現在要關閉開關 置...

按位運算子

部分參考scdxmoe的部落格 c語言提供了6個位操作運算子。這些運算子只能作用於整數運算元,及只能作用於帶符號或無符號的char,short,int,long型別。或運算 應用 常用來對乙個資料的某些位置1。方法 找到乙個數,對應x要置1的位,該數的對應位為1,其餘位為零。此數與x相或可使x中的某...