Toán tử thao tác bit là một loại toán tử được sử dụng trong các ngôn ngữ lập trình như C/C++ để thực hiện các thao tác trên các bit của một số nguyên. Toán tử này cho phép thao tác trực tiếp trên các bit của số, bao gồm AND, OR, XOR, NOT, SHIFT LEFT, SHIFT RIGHT. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các toán tử thao tác bit trong C/C++.
Toán tử thao tác bit trong lập trình C/C++
Dưới đây là các toán tử thao tác bit có trong lập trình C/C++.
- Toán tử AND bit ( & )
Toán tử AND bit ( & ) được sử dụng để thực hiện phép toán AND(và) trên từng bit của hai số nguyên. Các bit của số kết quả sẽ được đặt bằng 1 nếu cả hai bit tương ứng của hai số đều là 1. Ví dụ:
int a = 10; // a = 1010 (2)
int b = 6; // b = 0110 (2)
int c = a & b; // c = 0010 (2)
- Toán tử OR bit ( | )
Toán tử OR bit ( | ) được sử dụng để thực hiện phép toán OR(hoặc) trên từng bit của hai số nguyên. Các bit của số kết quả sẽ được đặt bằng 1 nếu một trong hai bit tương ứng của hai số là 1. Ví dụ:
int a = 10; // a = 1010 (2)
int b = 6; // b = 0110 (2)
int c = a | b; // c = 1110 (2)
- Toán tử XOR bit ( ^ )
Toán tử XOR bit ( ^ ) được sử dụng để thực hiện phép toán XOR trên từng bit của hai số nguyên. Các bit của số kết quả sẽ được đặt bằng 1 nếu hai bit tương ứng của hai số khác nhau, và sẽ được đặt bằng 0 nếu hai bit tương ứng của hai số giống nhau. Ví dụ:
int a = 10; // a = 1010 (2)
int b = 6; // b = 0110 (2)
int c = a ^ b; // c = 1100 (2)
- Toán tử NOT bit ( ~ )
Toán tử NOT bit ( ~ ) được sử dụng để đảo ngược các bit của một số nguyên. Các bit của số kết quả sẽ được đảo ngược, tức là các bit có giá trị 0 sẽ trở thành 1 và các bit có giá trị 1 sẽ trở thành 0. Ví dụ:
int a = 10; // a = 1010 (2)
int c = ~a; // c = -11 (10)
5. Toán tử Shift Left (<<)
Toán tử Shift Left (<<) được sử dụng để dịch các bit của một số sang trái. Các bit ở phía bên trái sẽ bị loại bỏ và các bit 0 sẽ được điền vào các vị trí trống.
int x = 10; //a = 1010
int result = x << 2; // result = 101000 (đổi qua thập phân sẽ là 40)
6. Toán tử Shift Right (>>)
Toán tử Shift Right (>>) được sử dụng để dịch các bit của một số sang phải. Các bit ở phía bên phải sẽ bị loại bỏ và các bit 0 sẽ được điền vào các vị trí trống.
int x = 10; // a = 1010
int result = x >> 2; // result = 0010 (đổi qua thập phân là 2)
Cảm ơn bạn đã đọc hết bài viết này, hy vọng qua bài viết này có thể giúp bạn nắm được các toán tử thao tác bit trong lập trình C/C++.
[Xem tất cả bài viết chủ đề C/C++ tại đây]
XÊM THÊM Cách tìm UCLN và BCNN Thuật toán đếm số lượng chữ số của số nguyên dương n Thuật toán tính dãy số Fibonacci Bài toán chuẩn hóa xâu ký tự Kiểm tra số chẵn lẻ trong lập trình C/C++