Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Toán Tử Bitwise (Bitwise Operators) trong Python

Toán tử bitwise thao tác trực tiếp trên các bit của số nguyên. Giả sử a = 60 (0011 1100) và b = 13 (0000 1101):

a = 0011 1100
b = 0000 1101
-----------------
a & b = 0000 1100  (12)
a | b = 0011 1101  (61)
a ^ b = 0011 0001  (49)
~a    = 1100 0011  (-61 dạng bù 2)
a << 2 = 1111 0000 (240)
a >> 2 = 0000 1111 (15)
STT Toán tử & Mô tả Ví dụ
1& (AND bitwise) - Bit kết quả = 1 nếu cả hai bit đều 1(a & b) = 12
2| (OR bitwise) - Bit kết quả = 1 nếu ít nhất một bit là 1(a | b) = 61
3^ (XOR bitwise) - Bit kết quả = 1 nếu hai bit khác nhau(a ^ b) = 49
4~ (NOT bitwise / Ones Complement) - Đảo ngược mọi bit(~a) = -61
5<< (Left Shift) - Dịch bit trái, tương đương nhân 2na << 2 = 240
6>> (Right Shift) - Dịch bit phải, tương đương chia nguyên 2na >> 2 = 15

Ví dụ chương trình

#!/usr/bin/python
a = 60  # 0011 1100
b = 13  # 0000 1101
c = 0

c = a & b;  print("Line 1 - Value of c is", c)  # 12
c = a | b;  print("Line 2 - Value of c is", c)  # 61
c = a ^ b;  print("Line 3 - Value of c is", c)  # 49
c = ~a;     print("Line 4 - Value of c is", c)  # -61
c = a << 2; print("Line 5 - Value of c is", c)  # 240
c = a >> 2; print("Line 6 - Value of c is", c)  # 15

Kết quả

Line 1 - Value of c is 12
Line 2 - Value of c is 61
Line 3 - Value of c is 49
Line 4 - Value of c is -61
Line 5 - Value of c is 240
Line 6 - Value of c is 15