C program showcasing bitwise operations

Graphic showing numbers

The bitwise operators available in C are,

bitwise AND – ‘&’

bitwise OR – ‘|’

bitwise XOR – ‘^’

left-shift operator – ‘<<’

right-shift operator – ‘>>’

bitwise NOT (1’s complement) – ‘~’

This C program shows some of common usage of the bitwise operators. The bitwise operators are widely used in embedded C programming.

Code walk-through

The code fragment x |= (1u << 2); sets the 2nd bit by shifting the value 1 left by 2 positions. Similarly the code fragment x &= ~(1u << 2);clears the second bit by shifting the value 1 by 2 positions to the left and doing a 1’s complement.

The line x ^= (1 << 2); toggles the 2nd bit by left shifting the value 1 by 2 positions and XORing with the value to be modified.

The code fragment   x & (1u << 2) ? puts("true") : puts("false"); tests the bit at position 2 by creating a mask by shifting 1 by 2 positions to the left and use the bit-wise & operator to check if the result is not 0 or otherwise.


Leave a Reply 0

Your email address will not be published. Required fields are marked *