Hoạt động XOR của C++

Hoat Dong Xor Cua C



Lập trình C++ cung cấp nhiều toán tử bitwise khác nhau như AND, OR, NOT, XOR, v.v. Để thao tác trên dữ liệu nhất định ở cấp độ bit, chúng tôi sử dụng toán tử bitwise trong ngôn ngữ lập trình C++. Toán tử “XOR” (^) trong C++ thực thi quy trình XOR trên mỗi bit của hai toán hạng. Nếu hai bit khác nhau thì kết quả của XOR là 1; nếu cả hai đều giống nhau thì kết quả là 0. Ở đây, chúng ta sẽ nghiên cứu toán tử “XOR” trong lập trình C++.

Ví dụ 1:

Mã bắt đầu ở đây bằng cách bao gồm tệp tiêu đề “iostream”. Như tên cho thấy, tệp tiêu đề này dành cho các hàm đầu vào và đầu ra vì các hàm này được khai báo trong đó. Sau đó, chúng ta có “không gian tên std” trong đó các hàm này được xác định.

Dưới đây, chúng ta gọi phương thức “main()”. Chúng ta khởi tạo biến “x” kiểu “int” và gán “10” cho “x” này. Sau đó, chúng ta có một biến khác, “y”, thuộc kiểu dữ liệu “int” và gán “6”. Sau đó, chúng ta khởi tạo “r” của kiểu dữ liệu “int”. Ở đây, chúng tôi áp dụng thao tác “XOR” trên các giá trị của biến “x” và “y” bằng cách đặt toán tử “^” ở giữa các biến này. Toán tử “XOR” này chuyển đổi các giá trị nguyên thành nhị phân, áp dụng thao tác “XOR” trên các giá trị nhị phân và lưu kết quả dưới dạng giá trị số nguyên. Kết quả của toán tử “XOR” này hiện được lưu trong “r”.







Sau đó, chúng tôi hiển thị riêng các giá trị của các biến này và sau đó hiển thị kết quả mà chúng tôi nhận được sau khi áp dụng toán tử “XOR” với sự trợ giúp của “cout”.



Mã 1:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

int x = 10 ;

int = 6 ;

int r = x ^ ;

cout << 'Giá trị của x:' << x << kết thúc ;

cout << 'Giá trị của y:' << << kết thúc ;

cout << 'XOR x ^ y =' << r << kết thúc ;

trở lại 0 ;

}

Đầu ra:



Vì giá trị nhị phân của “10” là “1010” và giá trị nhị phân của “6” là “0110”, nên nó trả về “12” sau khi áp dụng toán tử “XOR” và “1100” là giá trị nhị phân của “12”. Điều này cho thấy rằng nó trả về “1” trong đó cả hai đầu vào đều khác nhau và trả về “0” khi cả hai đầu vào đều giống nhau.





Ví dụ 2:

Sau khi thêm tệp tiêu đề “iostream” và không gian tên “std”, chúng ta gọi phương thức “main()”. Sau đó, chúng ta khởi tạo hai biến “X1” và “X2” và gán giá trị số nguyên “21” và “35” cho các biến này tương ứng. Sau đó, chúng tôi in giá trị của cả hai biến. Sau đó, chúng tôi áp dụng toán tử “XOR” cho các giá trị số nguyên này. Chúng tôi áp dụng thao tác “XOR” này cho các biến “X1” và “X2” này bên trong “cout”. Vì vậy, kết quả của “XOR” này cũng được hiển thị dưới dạng kết quả.



Mã 2:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

int X1 = hai mươi mốt , X2 = 35 ;

cout << 'Giá trị X1 =' << X1 << kết thúc ;

cout << 'Giá trị X2 =' << X2 << kết thúc ;

cout << 'Kết quả XOR là:' << kết thúc ;

cout << 'X1^X2 =' << ( X1 ^ X2 ) << kết thúc ;

trở lại 0 ;

}

Đầu ra:

Giá trị nguyên đầu tiên là “21” và giá trị thứ hai là “35”. Sau khi áp dụng thao tác “XOR”, chúng ta nhận được kết quả “54” được hiển thị ở đây.

Ví dụ 3:

Chúng tôi gọi phương thức “main()” sau khi thêm tệp tiêu đề “iostream” và không gian tên “std”. Biến “n1” thuộc loại “int” được khởi tạo và gán “29” cho nó. Tiếp theo, chúng ta gán “75” cho một biến khác, “n2”, thuộc kiểu dữ liệu “int”. Tiếp theo, chúng ta khởi tạo giá trị của “r1” cũng như giá trị của kiểu dữ liệu “int”.

Tiếp theo, chúng ta áp dụng thao tác “XOR” trên các giá trị của biến “n1” và “n2” bằng cách đặt toán tử “^” giữa chúng. Các giá trị số nguyên được chuyển đổi thành nhị phân bằng cách sử dụng toán tử “XOR” này, sau đó áp dụng thao tác “XOR” cho dữ liệu nhị phân và lưu kết quả dưới dạng giá trị số nguyên. Biến “r1” hiện chứa kết quả của thao tác “XOR” này. Các giá trị của từng biến này sau đó được hiển thị riêng biệt. Chúng tôi cũng trình bày kết quả của việc sử dụng toán tử “XOR” với sự hỗ trợ của toán tử “cout”.

Mã 3:

#include

sử dụng không gian tên std ;

int chủ yếu ( )

{

int n1 = 29 ;

int n2 = 75 ;

int r1 = n1 ^ n2 ;

cout << 'Giá trị đầu tiên:' << n1 << kết thúc ;

cout << 'Giá trị thứ hai:' << n2 << kết thúc ;

cout << 'Kết quả của toán tử XOR là:' << r1 << kết thúc ;

trở lại 0 ;

}

Đầu ra:

Các số nguyên đầu vào là “29” và “75” được chuyển đổi thành nhị phân. Sau đó, thao tác “XOR” được áp dụng cho chúng. Sau khi áp dụng “XOR”, kết quả là “86”.

Ví dụ 4:

Trong mã này, chúng tôi nhận dữ liệu đầu vào từ người dùng và sau đó áp dụng thao tác “XOR” cho các giá trị đầu vào của người dùng. Ba biến được khai báo ở đây với tên “Xvalue1”, “Xvalue2” và “Xvalue3”. Sau đó, chúng tôi đặt “cout” và hiển thị thông báo “Nhập hai giá trị vào đây”.

Sau khi hiển thị thông báo này, người dùng nhập các giá trị mà chúng tôi nhận được với sự trợ giúp của cin. Vì vậy, chúng tôi đặt “cin” bên dưới này. Cả hai giá trị hiện được lưu trữ trong các biến này và cũng được hiển thị ở đây. Bây giờ, chúng ta phải áp dụng thao tác “XOR”, vì vậy chúng ta chèn toán tử “^” vào giữa các biến “Xvalue1” và “Xvalue2”.

Bây giờ, thao tác “XOR” này được áp dụng cho giá trị của các biến này. Kết quả của toán tử “XOR” này sau đó được lưu trong biến “Xvalue3”. Chúng tôi cũng hiển thị nó bằng phương pháp “cout”.

Mã 4:

#include

sử dụng không gian tên std ;

int chủ yếu ( )

{

int Giá trị X1 , Giá trị X2 , Giá trị X3 ;

cout << 'Nhập giá trị hai giá trị vào đây: ' << kết thúc ;

cout << 'Xvalue1:' ;

Ăn >> Giá trị X1 ;

cout << 'Xvalue2:' ;

Ăn >> Giá trị X2 ;

Giá trị X3 = Giá trị X1 ^ Giá trị X2 ;

cout << ' \N Bây giờ, sau khi áp dụng XOR trên cả hai giá trị: ' << kết thúc ;

cout << 'Xvalue1 ^ Xvalue2 =' << Giá trị X3 << kết thúc ;

}

Đầu ra:

Khi chúng tôi thực thi mã này, nó sẽ in một thông báo yêu cầu nhập hai giá trị. Vì vậy, chúng tôi nhập “14” làm giá trị của biến “Xvalue1” và “45” làm giá trị của biến “Xvalue2”. Sau đó, chúng tôi nhấn vào Enter Enter. Sau đó, thao tác “XOR” được áp dụng cho các giá trị này để chuyển đổi cả hai giá trị thành nhị phân và sau đó hiển thị kết quả ở đây.

Ví dụ 5:

Chúng tôi áp dụng thao tác “XOR” này cho dữ liệu ký tự. Chúng ta khởi tạo hai biến “char” với tên “ch_a” và “ch_b”. Chúng tôi lần lượt gán “a” và “8” cho các biến này. Sau đó, chúng ta đặt toán tử “^” giữa “ch_a” và “ch_b” và gán nó cho biến “ch_result”, cũng là kiểu dữ liệu “char”. Các ký tự này được chuyển đổi thành nhị phân và kết quả được lưu trong biến “ch_result”. Sau đó, chúng tôi in cả hai biến và kết quả của thao tác “XOR” này.

Mã 5:

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

ký tự ch_a = 'Một' ;

ký tự ch_b = 'số 8' ;

ký tự ch_kết quả = ch_a ^ ch_b ;

cout << 'Ký tự đầu tiên là:' << ch_a << kết thúc ;

cout << 'Nhân vật thứ hai là:' << ch_b << kết thúc ;

cout << 'Kết quả là : ' << ch_kết quả << kết thúc ;

}

Đầu ra:

Các ký tự đầu vào là “a” và “8” và kết quả của “XOR” được hiển thị là “Y” mà chúng ta nhận được sau khi áp dụng thao tác “XOR” chuyển đổi “a” và “8” thành nhị phân và sau đó thực hiện “ hoạt động XOR”.

Phần kết luận

Hoạt động “XOR” được khám phá kỹ lưỡng ở đây và chúng tôi đã giải thích rằng đó là hoạt động “bitwise” vì nó sử dụng các giá trị nhị phân. Chúng tôi đã thảo luận rằng tất cả các giá trị chúng tôi đã nhập để áp dụng thao tác “XOR” đều được chuyển đổi thành giá trị nhị phân và sau đó thao tác “XOR” được thực hiện. Chúng tôi đã trình diễn một số ví dụ và chỉ ra cách hoạt động của thao tác “XOR” trong lập trình C++.