As from the name Bitwise sound these operator performs the operation on bit value. And also you must have heard bit is smallest unit of memory. *This is represented by either 0 or 1 which means you have only one option to mark your answer*. Also you can understand this concept by an electrical switch which is connected with a bulb. There can only be two conditions, one is bulb can be ON and second is it can be OFF. This is exact representation of a single bit. The combination of 4 bits is called as nibble. **Bitwise common Operators are: Bitwise AND (&), Bitwise OR(|) and Bitwise exclusive OR(^):**

Table of Contents

**Binary Number System:**

Before you understand Bitwise operator it is very important to understand Binary Number System. As binary number indicates that there can be only two values can be represented here either 0 or 1 which makes it a complete binary system. Below table describe the addition and multiplication of two Bit Value.

A |
B |
Addition |
Multiplication |

0 | 0 | 0 | 0 |

0 | 1 | 1 | 0 |

1 | 0 | 1 | 0 |

1 | 1 | 10 | 1 |

**Important Note:** There is also a difference between AND (&) and logical AND (&&). Because logical AND (&&) can only result in the Boolean value i.e. it can be either 0 or 1. And in other words we can say it can be true or false, it can be recognized as on or off.

**Bitwise Different Operator:**

Now we discuss about different Bitwise operator: Bitwise AND (&), Bitwise OR(|) and Bitwise exclusive OR(^).

**Bitwise And (&):**

In case of AND(&), result depend on the value of bit value of comparative operands. In other words, only if both operands Bit value is 1 then only the result is 1. Below is the Bitwise And (&) table:

A |
B |
AND(&) |

0 | 0 | 0 |

0 | 1 | 0 |

1 | 0 | 0 |

1 | 1 | 1 |

Example, consider in the given program there are two variables considered a and b having two different values.

a=3; b=4;

if we calculate respective binary value of both the numbers we get:

a=011;

b=100;

As AND work on bit values and if we calculate the result for this (please refer & table):

a&b=000;

Now if we calculate the number value of result bit values(000) is equal to 0. **Because in this case there bit value respective to other operand bit values are different and hence the result generated is 000**. And the same result **(0) **is produced by the program.

**Bitwise Inclusive OR (|)**

Now for consideration of Bitwise OR (|) firstly understand the basic behind it. This also works on bit value. In this the logic result 1 if any one of bit value is 1. The result will be zero only if both the values are zero.

It can be more cleared from the table shown below:

A |
B |
Inclusive OR (|) |

0 | 0 | 0 |

0 | 1 | 1 |

1 | 0 | 1 |

1 | 1 | 1 |

From the code view of point there are two variable considered

A=3; // 011

B=4 //100

A|B=7 //111

Hence the result obtained from these variables is given as 7. Because here we apply inclusive OR (|) operator in it.

**Bitwise Exclusive OR (^)**

So in case of **exclusive OR (^) **the result value is only one when both the bit values are different means when one is 0 and other value is 1 and also if first one is 1 and second one 0, in both the cases the result value will be 1. And if both are having same value like 0 and 1 then result will be zero (0).

A |
B |
Exclusive OR |

0 | 0 | 0 |

0 | 1 | 1 |

1 | 0 | 1 |

1 | 1 | 0 |

As from program there are two variables

a=3; //011

b=4; //100

a^b=7; //111

Here a is having bit values as 011 and b having 100 as bit values in binary number system. And in the resultant if take it its **exclusive OR(^)** all bit values are different in respect to each other so the resultant comes as 111 which is count to be as 7 in decimal number system. And hence the output from the respective code of program.

**Bitwise Operator Example in JAVA**

Now lets create a program in JAVA using all three Bitwise AND (&), Bitwise OR(|), and Bitwise exclusive OR(^) operator.

public class BitwiseExample { public static void main(String[] args) { int a=3; //binary value is 011 int b=4; //binary value is 100 int e=a&b; // result value is 000 which is 0 int f=a|b;// result value is 111 which is 7 int g=a^b;// result value is 111 which is 7 System.out.println("The value of a & b(AND) is: " + e); System.out.println("The value of a | b(INCLUSIVE OR) is: " + f); System.out.println("The value of a ^ b(EXCLUSIVE OR) is: "+ g); } }

**Output:**

The value of a & b(AND) is: 0 The value of a | b(INCLUSIVE OR) is: 7 The value of a ^ b(EXCLUSIVE OR) is: 7