python位運算子:將 int 長整型資料看做二進位制進行計算,主要是將前面的數和後面的數的對應位置上的數字 0,1 進行判斷。
& 按位與:如果對應位置上的兩個數都為 1,那麼得到的該結果的該位置上也為 1 。其他情況都為 0。
| 按位或:如果對應位置上的兩個數有乙個為 1 或都為 1,則得到的該結果的該位置上也為 1 。其他情況都為 0。
^ 按位異或:如果對應位置上的兩個數為 0 和 1 或 1 和 0,則得到的該結果的該位置上也為 1 。其他情況都為 0。
~ 按位取反:如果~後面為正數或 0,則結果為-(數+1),
如果後面的數為負數,則結果為-(負數(帶符號)+1)。
<< 左移運算子:將前面的數乘以 2 的(後面的數) 次冪。
>> 右移運算子:將前面的數除以 2 的(後面的數) 次冪。
#檢視二進位制
a = 2b = 3
(bin(a))
#0b10 1*2的1次 + 0*2的0次
(bin(b))
#0b11 1*2的1次 + 1*2的0次
#& 按位與:如果對應位置上的兩個數都為 1,那麼得到的該結果的該位置上也為 1 。其他情況都為 0。
print(a &b)
#0b1 為與的結果
#| 按位或:如果對應位置上的兩個數有乙個為 1 或都為 1,則得到的該結果的該位置上也為 1 。其他情況都為 0。
print(a |b)
#0b11 為或的結果
#^ 按位異或:如果對應位置上的兩個數為 0 和 1 或 1 和 0,則得到的該結果的該位置上也為 1 。其他情況都為 0。
print(a ^b)
#0b01 為異或的結果
#~ 按位取反:如果後面的為正數,則結果為-(正數+1)
print(~2)#-3
print(~(-5))#4
#<< 左移運算子:將前面的數乘以 2 的(後面的數)次冪
print(2<<3)
#16 2 *2*2*2
#>> 右移運算子:將前面的數除以 2 的(後面的數)次冪
print(16>>2)
#4
2020-02-05
python運算子 之位運算子
支援的資料型別有數字 集合 set 僅支援 交集 並集 不同集 其他型別都不支援位運算。按位運算子是把數字看作二進位制來計算的。位運算子作用於所有的位上,並且按位運算。python中按位運算法則如下 假設a 60,b 13 操作符描述例項 按位與運算子,當且僅當兩個運算元的某一位都非0時,該位的結果...
Python位運算子
按位運算子是把數字看作二進位制來進行計算的。python中的按位運算法則如下 下表中變數 a 為 60,b 為 13,二進位制格式如下 a 0011 1100 b 0000 1101 a b 0000 1100 a b 0011 1101 a b 0011 0001 a 1100 0011運算子 描...
python位運算子
python位運算子 python的位運算子是把數字看作二進位制來進行計算的。按位與 如果兩個二進位都為1,則該位結果為1,否則為0 按位或 只要乙個為1,則為1,否則為0 按位異或 兩個二進位相異為為1 即兩個二進位要相反 否則為0 取反 對資料的每個二進位制位取反,即把1變0,把0變1 左移動 ...