- Python編程基礎與應用
- 李方園主編
- 366字
- 2021-10-27 16:38:21
1.5.3 位運算符

1-10 位運算符
位運算按照數據在內存中的二進制位(bit)進行操作,它一般用于算法設計、驅動、圖像處理、單片機等底層開發。位運算符只能用來操作整數類型,它按照整數在內存中的二進制形式進行計算。Python支持的位運算符如表1-8所示。
表1-8 位運算符及功能說明

位運算指令使用“0”“1”兩個布爾操作數(bool)對位狀態進行邏輯操作,邏輯操作的結果送入存儲器Y中。表1-9到表1-12為對應的邏輯“與”“或”“異或”和“取反”運算。
表1-9 邏輯“與”運算

表1-10 邏輯“或”運算

表1-11 邏輯“異或”運算

表1-12 邏輯“取反”運算

左移運算符“<<”用來把操作數的各個二進制位全部左移若干位,高位丟棄,低位補0。
例如,9<<3可以轉換為如下的運算:

右移運算符“>>”用來把操作數的各個二進制位全部右移若干位,低位丟棄,高位補0或1。如果數據的最高位是0,那么就補0;如果最高位是1,那么就補1。
例如,9>>3可以轉換為如下的運算:

【例1-27】 位運算。

運算結果:

例中出現的-7,其二進制的寫法是“各位取反,再加一”,即11111001。