C programming bitwise operators; In this tutorial, i am going to show you bitwise operators in C programming with examples.

## C Programming Bitwise Operators

A bitwise operator is an operator used to perform bitwise operations on bit patterns or binary numerals that involve the manipulation of individual bits.

### List of C Programming Bitwise Operators

Operators | Meaning of operators |
---|---|

& | Bitwise AND |

| | Bitwise OR |

^ | Bitwise XOR |

~ | Bitwise complement |

<< | Shift left |

>> | Shift right |

### Bitwise AND operator &

The bitwise operator is represented by a single ampersand sign (&) and it is very commonly used.The result of the bitwise AND operation is 1 if both the bits have the value as 1; otherwise, the result is always 0.

#### Example 1 – Bitwise AND Operator

#include <stdio.h> int main() { int a = 12, b = 25; printf("Output = %d", a&b); return 0; }

**Output**

Output = 8

### Bitwise OR operator |

The output of bitwise OR is 1 if at least one corresponding bit of two operands is 1. In C Programming, the bitwise OR operator is denoted by |.

#### Example 1 – Bitwise OR Operator

#include <stdio.h> int main() { int a = 12, b = 25; printf("Output = %d", a|b); return 0; }

**Output**

Output = 29

### Bitwise XOR (exclusive OR) operator ^

This is represented by a symbol (^). Two integer expressions are written on each side of the (^) operator.

The result of the bitwise Exclusive-OR operation is 1 if only one of the expression has the value as 1; otherwise, the result is always 0.

#### Example 1 – Bitwise XOR Operator

#include <stdio.h> int main() { int a = 12, b = 25; printf("Output = %d", a^b); return 0; }

**Output**

Output = 21

### Bitwise complement operator ~

Bitwise complement operator is a unary operator (works on only one operand). It changes 1 to 0 and 0 to 1. It is denoted by ~.

#### Example 1 – Bitwise complement Operator

#include <stdio.h> int main() { printf("Output = %d\n",~35); printf("Output = %d\n",~-12); return 0; }

**Output**

Output = -36 Output = 11

### Shift Operators in C programming

There are two shift operators in C programming:

- Right shift operator
- Left shift operator.

#### Right Shift Operator

Right shift operator shifts all bits towards right by certain number of specified bits. It is denoted by >>.

#### Left Shift Operator

Left shift operator shifts all bits towards left by a certain number of specified bits. The bit positions that have been vacated by the left shift operator are filled with 0. The symbol of the left shift operator is <<.

##### Example 1 – Shift Operators

#include <stdio.h> int main() { int num=212, i; for (i=0; i<=2; ++i) printf("Right shift by %d: %d\n", i, num>>i); printf("\n"); for (i=0; i<=2; ++i) printf("Left shift by %d: %d\n", i, num<<i); return 0; }

**Output**

Right Shift by 0: 212 Right Shift by 1: 106 Right Shift by 2: 53 Left Shift by 0: 212 Left Shift by 1: 424 Left Shift by 2: 848