# How do you set, clear, and toggle a bit in C/C++?

You can set clear and toggle bits using bitwise operators in C, C++, Python, and all other programming languages that support these operations. You also need to use the bitshift operator to get the bit to the right place.

## Setting a bit

To set a bit, we'll need to use the bitwise OR operator −

### Example

#include<iostream>
using namespace std;
int main() {
int i = 0, n;

// Enter bit to be set:
cin >> n;
i |= (1 << n); // Take OR of i and 1 shifted n positions
cout << i;
return 0;
}

### Output

If you enter 4, This will give the output −

16

because 16 is equivalent to 10000 in binary.

## Clearing a bit

To clear a bit, we'll need to use the bitwise AND operator(&) and bitwise NOT operator(~) −

### Example

#include<iostream>
using namespace std;
int main() {
// i is 110 in binary
int i = 6, n;

// Enter bit to be cleared:
cin >> n;
i &= ~(1 << n); // Take OR of i and 1 shifted n positions negated
cout << i;
return 0;
}

### Output

If you enter 1, This will give the output −

4

because 110 becomes 100 which is equivalent to 4 in decimal.

## Toggling a bit

To toggle a bit, we'll need to use the bitwise XOR operator(^) −

### Example

#include<iostream>
using namespace std;
int main() {
// i is 110 in binary
int i = 6, n;

// Enter bit to be toggled:
cin >> n;
i ^= (1 << n); // Take XOR of i and 1 shifted n positions
cout << i;
return 0;
}

### Output

If you enter 1, This will give the output −

4

because 110 becomes 100 which is equivalent to 4 in decimal.

Advertisements