Toán tử XOR bit [^] sẽ lấy hai chuỗi nhị phân có độ dài bằng nhau và thực hiện thao tác XOR bit trên mỗi cặp chuỗi bit
Toán tử XOR sẽ trả về 1, nếu cả hai bit khác nhau
Nếu các bit giống nhau, nó sẽ trả về 0
Bảng sự thật,
Thí dụ
Hãy lấy hai số nguyên A = 5 và B = 9
Khi đó kết quả của A^B sẽ như thế nào?
Hãy biểu diễn từng số ở định dạng nhị phân
Một = [0101] 2
B= [1001] 2
Bây giờ, hãy áp dụng logic XOR từng bit trong từng cặp bit tương ứng
Giống,
Giải thích bằng hình ảnh
Vì vậy, A ^ B sẽ là [1100]2, tức là 12
Thí dụ
#Bitwise xor operator in python a = 5 b = 9 ans = a ^ b print[ans]
chạy nó
Điều thú vị ở đây là, nếu chúng ta lại thực hiện XOR trên kết quả trên với 9, chúng ta sẽ nhận lại được 5
Giải thích bằng hình ảnh
Do thuộc tính này, toán tử Bitwise XOR ban đầu được sử dụng trong mật mã
Toán tử XOR trong mật mã
Giả định,
5 là giá trị mà chúng tôi muốn gửi cho người khác một cách bí mật
Nhưng nếu chúng tôi gửi tin nhắn 5 trực tiếp mà không có bất kỳ sửa đổi nào thì bí mật sẽ là một dấu chấm hỏi
Để tránh điều đó, hai người sẽ chia sẻ khóa bí mật mà chỉ hai người đó biết
Hãy lấy khóa bí mật là 9
Trước khi gửi tin nhắn, người gửi sẽ XOR tin nhắn bằng khóa bí mật. Sau đó, tin nhắn được mã hóa sẽ được gửi
Bài viết này sẽ giúp bạn khám phá cách chúng ta có thể thực hiện thao tác XOR theo bit bằng ngôn ngữ lập trình Python
Python XOR
Toán tử Python XOR hoặc 'độc quyền hoặc' cho phép chúng ta so sánh hai số nhị phân theo bit
Người điều hành rất đơn giản. Nó trả về 0 nếu cả hai bit giống nhau và 1 nếu ngược lại
Toán tử cũng sẽ đặt bit đầu vào thành 1 nếu một trong các bit tương tự trong toán hạng bằng 1
Trong Python, chúng ta chủ yếu sử dụng toán tử bitwise two để so sánh hai toán hạng số nguyên. Lưu ý rằng trước tiên toán tử sẽ chuyển đổi các số nguyên thành bit trước khi thực hiện so sánh
Toán tử Python XOR
Toán tử XOR trong Python được biểu thị bằng ký hiệu ^
Ví dụ – Số nguyên
Ví dụ: để thực hiện so sánh XOR theo bit trên hai số nguyên, chúng ta có thể chạy mã như được hiển thị
int_a = 10
int_b = 100
print[f"int_a[binary]: {bin[int_a]}"]
in[ f "int_b[binary]: {bin[int_b]}"]
res = int_a ^ int_b>> từ toán tử nhập xor>> a = True
>>> b = False
>>> print[xor[a,b]]
True
Trong ví dụ trên, chúng tôi bắt đầu bằng cách nhập hàm xor từ mô-đun toán tử
Sau đó, chúng tôi xác định hai biến kiểu Boolean và thực hiện loại trừ bitwise hoặc. Giá trị kết quả được hiển thị ở trên
Sự kết luận
Trong bài viết này, chúng ta đã học cách thực hiện XOR bitwise trong Python bằng cách sử dụng toán tử ^ và hàm xor. Tiếp tục thực hành để khám phá cách toán tử bitwise hoạt động với các đầu vào khác nhau