Bitwise operator works on bits and performs a bit-by-bit operation. There are six Bitwise Operators and can be applied to the integer types, long, int, short, char, and byte.
List of Bitwise Operator in Java:
- Bitwise AND: ‘&’
Binary AND Operator copies a bit to the result if it exists in both operands. - Bitwise OR: ‘|’
Binary OR Operator copies a bit if it exists in either operand. - Bitwise XOR: ‘^’
Binary XOR Operator copies the bit if it is set in one operand but not both. - Binary Left Shift: ‘<<’
TThe left operands value is moved left by the number of bits specified by the right operand. - Binary Right Shift: ‘>>’
The left operand’s value is moved right by the number of bits specified by the right operand. - Bitwise complement: ‘~’
Binary Ones Complement Operator is unary and has the effect of ‘flipping’ bits. - zero-fill right shift: ‘>>>’
The left operands value is moved right by the number of bits specified by the right operand and shifted values are filled up with zeros.
Java Program for Bitwise Operator :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class Bitwise { public static void main(String args[]) { int number1 = 11; /* 15 = 00001011 */ int number2 = 22; /* 10 = 00010110 */ int output = 0; output = number1 & number2; System.out.println("Result for number1 & number2: "+output); output = number1 | number2; System.out.println("Result for number1 | number2: "+output); output = number1 ^ number2; System.out.println("Result for number1 ^ number2: "+output); output = ~number1; System.out.println("Result for ~number1: "+output); output = number1 << 2; System.out.println("Result for number1 << 2: "+output); output = number1 >> 2; System.out.println("Result for number1 >> 2: "+output); } } |
Output:
1 2 3 4 5 6 | Result for number1 & number2: 2 Result for number1 | number2: 31 Result for number1 ^ number2: 29 Result for ~number1: -12 Result for number1 << 2: 44 Result for number1 >> 2: 2 |