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

Thiết lập, xóa, đảo bit trong C/C++


Dùng toán tử bitwise để set, clear, toggle bit. Cần toán tử dịch bit để đưa bit vào vị trí đúng.

Set bit (đặt bit = 1)

Dùng OR bitwise (|):

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int i = 0, n;
    cin >> n; // bit cần set
    i |= (1 << n); // OR với 1 dịch n vị trí
    cout << i;
    return 0;
}

Đầu ra (n=4)

16

Vì 16 = 10000 nhị phân.

Clear bit (xóa bit = 0)

Dùng AND bitwise (&) và NOT bitwise (~):

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int i = 6, n; // 6 = 110 nhị phân
    cin >> n;
    i &= ~(1 << n); // AND với NOT của 1 dịch n vị trí
    cout << i;
    return 0;
}

Đầu ra (n=1)

4

110 -> 100 = 4.

Toggle bit (đảo bit)

Dùng XOR bitwise (^):

Ví dụ

#include <iostream>
using namespace std;

int main() {
    int i = 6, n; // 110 nhị phân
    cin >> n;
    i ^= (1 << n); // XOR với 1 dịch n vị trí
    cout << i;
    return 0;
}

Đầu ra (n=1)

4

110 -> 100 = 4.