Monday, January 23, 2012

How to set, clear, toggle and check a single bit in C

Setting a bit
Use the bitwise OR operator (|) to set a bit.
number |= 1 << x;

That will set bit x.

Clearing a bit
Use the bitwise AND operator (&) to clear a bit.
number &= ~(1 << x);

That will clear bit x. You must invert the bit string with the bitwise NOT operator (~), then AND it.

Toggling a bit
The XOR operator (^) can be used to toggle a bit.
number ^= 1 << x;

That will toggle bit x.

Checking a bit
To check a bit, AND it with the bit you want to check:
bit = number & (1 << x);

That will put the value of bit x into the variable bit.

2 comments:

Anonymous said...

very usefull

Anonymous said...

That helped me. Thanks.