Python位運算子

2022-06-19 13:03:15 字數 1301 閱讀 9555

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

print

(bin(a))

#0b10 1*2的1次 + 0*2的0次

print

(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 左移動 ...