Python之位運算
阿新 • • 發佈:2021-11-18
在計算機中所有的數都是以二進位制的形式存在的,位運算就是直接對整數在計算機中對應的二進位制位進行操作。
位運算分為 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次方