1. 程式人生 > 其它 >Python之位運算

Python之位運算

在計算機中所有的數都是以二進位制的形式存在的,位運算就是直接對整數在計算機中對應的二進位制位進行操作。

位運算分為 6 種如下:

按位與 &
按位或 |
按位異或 ^
按位取反 ~
左移運算 <<
右移運算 <<

一、按位與

運算中的兩個數,二進位制的對應位都為1,則該位的結果為1,否則為0。

二、按位或

運算中的兩個數,二進位制的對應位中只要有一個為1時,結果位就為1,否則為0。

三、按位異或

運算中的兩個數,二進位制的對應位中當兩個對應位相異時,結果為1,否則為0。

四、按位取反

把二進位制數的每個二進位制位取反,即把1變為0, 把0變為1。

五、左移運算

將一個數的各二進位制位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。

運算結果式子:

x 為整數
x << n = x * (2ⁿ)  # x 乘以 2的n次方

六、右移運算

將一個數的各二進位制位全部右移若干位,由">>"右邊的數指定移動的位數,若是不帶符號數,則補入的數全部為0;

若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位),即正數補0,負數補1。

運算結果式子:

x 為整數
x >> n = x / (2ⁿ)  # x 除以 2的n次方