Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Các toán tử bitwise trong C

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.