Toán tử bitwise thao tác trên từng bit của toán hạng. Bảng các toán tử:
| Toán tử | Tên |
|---|---|
| & | Bitwise AND |
| | | Bitwise OR |
| ^ | Bitwise XOR |
| ~ | Bitwise NOT (complement) |
| << | Dịch trái (Left shift) |
| >> | Dịch phải (Right shift) |
Ví dụ
#include <stdio.h>
int main() {
int x = 10; // 1010
int y = 28; // 11100
int i = 0;
printf("Bitwise AND: %d\n", x & y); // 8 (01000)
printf("Bitwise OR: %d\n", x | y); // 30 (11110)
printf("Bitwise XOR: %d\n", x ^ y); // 22 (10110)
printf("Bitwise NOT: %d, %d\n", ~x, ~y); // -11, -29 (bù 2)
for (i = 0; i < 2; i++)
printf("Right shift %d: %d\n", i, x >> i);
for (i = 2; i <= 3; i++)
printf("Left shift %d: %d\n", i, y << i);
return 0;
}
Kết quả
Bitwise AND: 8 Bitwise OR: 30 Bitwise XOR: 22 Bitwise NOT: -11, -29 Right shift 0: 10 Right shift 1: 5 Left shift 2: 112 Left shift 3: 224
Ứng dụng: Thao tác cờ (flags), nén dữ liệu, mã hóa, điều khiển phần cứng, tối ưu hiệu năng.