In this tutorial, you will learn about the **Bitwise Operations in C** and their usage and examples.

# Bitwise Operations in C with Example

The table below illustrates the Bitwise Operators in C, a brief description, and a simple example.

Operator | Description | Example |
---|---|---|

& | "AND" Operator copies a bit to the result if it exists in both operands. | (A & B) |

| | "OR" Operator copies a bit if it exists in either operand. | (A | B) |

^ | "XOR" Operator copies the bit if it is set in one operand but not both. | (A ^ B) |

~ | One's Complement Operator is unary and has the effect of 'flipping' bits. | (~A ) |

<< | Left Shift Operator. The left operand's value is moved left by the number of bits specified by the right operand. | A << 2 |

>> | Right Shift Operator. The left operand's value is moved right by the number of bits specified by the right operand. | A >> 2 |

## Example of Bitwise Operators in C

#include <stdio.h> int main() { int x = 20,y = 40,AND_Operation,OR_Operation,XOR_Operation,NOT_Operation ; AND_Operation = (x&y); OR_Operation = (x|y); NOT_Operation = (~x); XOR_Operation = (x^y); printf("AND_Operation value = %d\n",AND_Operation ); printf("OR_Operation value = %d\n",OR_Operation ); printf("NOT_Operation value = %d\n",NOT_Operation ); printf("XOR_Operation value = %d\n",XOR_Operation ); printf("Left_Shift value = %d\n", x << 1); printf("Right_Shift value = %d\n", x >> 1); }

**Output**

AND_Operation value = 0 OR_Operation value = 60 NOT_Operation value = -21 XOR_Operation value = 60 Left_Shift value = 40 Right_Shift value = 10