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.