Python cung cấp các toán tử theo bit,
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9[AND], print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0[OR], print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0[XOR], print[x | y]
print[bin[x | y]]
# 11
# 0b1011
1[NOT, đảo ngược], print[x | y]
print[bin[x | y]]
# 11
# 0b1011
2[SHIFT TRÁI], print[x | y]
print[bin[x | y]]
# 11
# 0b1011
3[SHIFT PHẢI]Bài viết này mô tả các nội dung sau
- Bitwise AND.
9print[x | y] print[bin[x | y]] # 11 # 0b1011
- Bitwise HOẶC.
0print[x | y] print[bin[x | y]] # 11 # 0b1011
- Bitwise XOR.
0print[x | y] print[bin[x | y]] # 11 # 0b1011
- Hoạt động bitwise với số nguyên âm
- Bitwise KHÔNG, đảo ngược.
1print[x | y] print[bin[x | y]] # 11 # 0b1011
- Dịch chuyển bit.
2,print[x | y] print[bin[x | y]] # 11 # 0b1011
3print[x | y] print[bin[x | y]] # 11 # 0b1011
Để biết thêm thông tin về cách chuyển đổi các số và chuỗi nhị phân, bát phân và thập lục phân bằng cách sử dụng
print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
0, print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
1, print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
2 và print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
3, hãy xem các bài viết sau- Chuyển đổi nhị phân, bát phân, thập phân và thập lục phân trong Python
Xem bài viết sau về cách đếm số lượng
print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
4 trong biểu diễn nhị phân cho số nguyên print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
5- Đếm số bit 1 trong python [int. bit_count]
Đối với phép toán Boolean trên loại
print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
6 [print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
7, print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
8] thay vì phép toán theo bit, hãy xem bài viết sau. Sử dụng print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
9 và print[x | y]
print[bin[x | y]]
# 11
# 0b1011
80 thay vì print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9 và print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0- Toán tử Boolean trong Python [and, or, not]
Liên kết được tài trợ
Bitwise AND. print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
Bitwise AND với toán tử
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9nguồn. and_or_bit. py
Bitwise HOẶC. print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
Bitwise OR với toán tử
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0print[x | y]
print[bin[x | y]]
# 11
# 0b1011
nguồn. and_or_bit. py
Bitwise XOR. print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
Bitwise XOR với toán tử
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
0________số 8
nguồn. and_or_bit. py
Đầu vào và đầu ra cho từng bit của AND, OR và XOR như sau
Đầu vào 1 Đầu vào 2 ANDORXOR11110100110101100000Liên kết được tài trợ
Hoạt động bitwise với số nguyên âm
Các hoạt động bitwise trên số nguyên âm được xử lý như thể các giá trị được biểu thị bằng phần bù của hai
- Phần bù của hai - Wikipedia
Tuy nhiên, lưu ý rằng nếu bạn chuyển đổi một số nguyên âm thành chuỗi nhị phân bằng cách sử dụng
print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
0 hoặc print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
3, dấu trừ sẽ được sử dụng thay cho định dạng phần bù của haiNếu bạn muốn lấy một chuỗi được biểu diễn dưới dạng biểu diễn bù hai, hãy lấy theo chiều bit VÀ
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
9 của số chữ số tối đa được yêu cầu, ví dụ: print[x | y]
print[bin[x | y]]
# 11
# 0b1011
62 [= print[x | y]
print[bin[x | y]]
# 11
# 0b1011
63] cho 4 bit, print[x | y]
print[bin[x | y]]
# 11
# 0b1011
64 cho 8 bit và print[x | y]
print[bin[x | y]]
# 11
# 0b1011
65 cho 16 bit- Chuyển đổi nhị phân, bát phân, thập phân và thập lục phân trong Python
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
8nguồn. and_or_bit. py
Bitwise KHÔNG, đảo ngược. print[x | y]
print[bin[x | y]]
# 11
# 0b1011
1
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
Toán tử
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
1 mang lại phép nghịch đảo bit. Đảo ngược bitwise của print[x | y]
print[bin[x | y]]
# 11
# 0b1011
68 được định nghĩa là print[x | y]
print[bin[x | y]]
# 11
# 0b1011
69- 6. Biểu thức - Phép toán số học đơn nguyên và bitwise — Python 3. 9. 1 tài liệu
Nếu giá trị đầu vào
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
68 được coi là phần bù của hai và tất cả các bit được đảo ngược, thì nó tương đương với print[x | y]
print[bin[x | y]]
# 11
# 0b1011
69Chuyển đổi
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
72 thành một chuỗi không dẫn đến một chuỗi có các bit của giá trị ban đầu bị đảo ngượcprint[x | y]
print[bin[x | y]]
# 11
# 0b1011
6nguồn. and_or_bit. py
Bằng cách thực hiện phép toán AND để tạo một chuỗi biểu diễn phần bù của hai chuỗi, bạn có thể thu được một chuỗi có đảo ngược các bit
Ví dụ: để lấy chuỗi đảo ngược bit gồm 4 chữ số, hãy chỉ định
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
73 với print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
3 và đệm nó bằng số khôngprint[x | y]
print[bin[x | y]]
# 11
# 0b1011
7nguồn. and_or_bit. py
Dịch chuyển bit. print[x | y]
print[bin[x | y]]
# 11
# 0b1011
2, print[x | y]
print[bin[x | y]]
# 11
# 0b1011
3
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
Dịch chuyển trái và dịch chuyển phải với người vận hành
print[x | y]
print[bin[x | y]]
# 11
# 0b1011
2, print[x | y]
print[bin[x | y]]
# 11
# 0b1011
3print[x | y]
print[bin[x | y]]
# 11
# 0b1011
6nguồn. and_or_bit. py
Đối với các giá trị âm, bit dấu được mở rộng và dịch chuyển, các dấu dương và âm không thay đổi. Các giá trị âm được coi là có
print[x ^ y]
print[bin[x ^ y]]
# 3
# 0b11
4 vô hạn ở phía bên tráiprint[x | y]
print[bin[x | y]]
# 11
# 0b1011
8nguồn. and_or_bit. py
Thật khó hiểu nếu bạn coi nó như một giá trị số, vì vậy tốt hơn là coi nó như một chuỗi bù hai