The bitwise operators are used to perform bit-wise operations on operands or variables. e.g. bit-wise AND operation, bit-wise OR operation, etc.

**Bit-wise AND ( & ):** The result of bitwise AND is 1 if the corresponding bits of two operands is 1, otherwise the result of corresponding bit evaluated as 0.

**Bit-wise OR ( | ):** The result of bitwise OR is 1 if at least one corresponding bit of two operands is 1, otherwise the result of the corresponding bit evaluated as 0.

**Bit-wise NOT ( ~ ): **The result of bit-wise NOT is the one’s complement of the operand. i.e. inverts all bits of the operand.

**Bit-wise XOR ( ^ ): **The result of bit-wise XOR is 1 if the corresponding bit of two operands is opposite, otherwise the result of the corresponding bit evaluated as 0.

**Left Shift ( << ): **The value of the left operand is shifted to left by the value specified by the right operand.

**Right Shift ( >> ): **The value of the left operand is shifted to the right by the value specified by the right operand.

Here is a C program to demonstrate the bit-wise operators

/**

* To demonstrate use of bitwise operators

*/

#include<stdio.h>

int main ( int argc, char **argv )

{

unsigned char x = 10;

unsigned char y = 12;

printf ( "x = %d, y = %d\n", x, y );

/* Bit-wise AND

* x = 10, ( 00001010 )

* &

* y = 12, ( 00001100 )

* x & y = 8, ( 00001000 )

*/

printf ( "x & y = %d\n", x & y );

/* Bit-wise OR

* x = 10, ( 00001010 )

* |

* y = 12, ( 00001100 )

* x | y = 14, ( 00001110 )

*/

printf ( "x | y = %d\n", x | y );

/* Bit-wise NOT

* x = 10, ( 00001010 )

* ~x = 245, ( 11110101 )

*/

printf ( "~x = %d\n", x = ~x );

/* Bit-wise XOR

* x = 10, ( 00001010 )

* ^

* y = 12, ( 00001100 )

* x ^ y= 6, ( 00000110 )

*/

printf ( "x ^ y = %d\n", x ^ y );

/* Bit-wise left shift

* y = 12, ( 00001100 )

* y << 1 = 24, ( 00011000 )

*/

printf ( "y << 1 = %d\n", y << 1 );

/* Bit-wise right shift

* y = 12, ( 00001100 )

* y >> 1 = 6, ( 00000110 )

*/

printf ( "y >> 1 = %d\n", y >> 1 );

return 0;

}

Hope, it would be useful !!

*To contribute :*

*If you like Advance Computing and would like to contribute, you can mail your article to **“computingadvance@gmail.com”. **You will get credit as your name , email id, designation with article on this blog.*