Python 整數類型的二進製按位運算


Python 按位運算僅對整數有意義。

二進製按位運算的優先級全都低於數值運算,但高於比較運算。

一元運算 ~ 具有如其它一元數值運算 (+ 和 -) 的相同優先級。

加密解密


使用 ^ 按位異或對整數進行簡單加密,然後解密:

>>> key = 3
>>> 5 ^ key
6
>>> 6 ^ key
5
>>>
					

整數類型的二進製按位運算

運算 公式 二進製規則 整數範例 結果 二進製 結果
按位或 x | y 一個 1 就為 1,否則 0 1 | 0 1 0b01 | 0b00 0b01
2 | 3 3 0b10 | 0b11 0b11
按位異或 x ^ y 相同為 0,不同為 1 1 ^ 0 1 0b01 ^ 0b00 0b01
2 ^ 3 1 0b10 ^ 0b11 0b01
按位與 x & y 同為 1,纔是 1 1 & 0 0 0b01 & 0b00 0b00
2 & 3 2 0b10 & 0b11 0b10
按位左移 x << n 嚮左移動 n 位後,空位補 0 5 << 2 20 0b101 0b10100
按位左移 x >> n 嚮右移動 n 位後,空位補 0 20 >> 2 5 0b10100 0b101
按位反轉 ~x 將二進製數 +1 之後乘以 -1 ~5 -6 0b101 -0b110

另請參閱:

整數類型的按位運算

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。

上一話題

Python 對象原位賦值

下一話題

什麼是 Bugs 漏洞

快速搜索