Left Shift (<<) and Right Shift (>>) Operators

What is Left Shift (<<) Operator:

1. a<<b means left shift the bits of number a by b places.
2. 3<<2 means left shift the bits of number 3 by 2 places. Result = 12
1. 011 is the bit representation of number 3.
2. Left shift all the bits so => 0 1 1 0 (number =6)
3. Left shift all the bits so => 0 1 1 0 0 (number = 12).
3. Each time you left shift the number, it will be multiplied by 2. So if you shift by a number by k then number will be multiplied by k2.

What is Right Shift (>>) Operator:

• a>>b means right shift the bits of number a by b places.
• 12>>2 means right shift the bits of number 12 by 2 places. Result = 3
1. 0 1 1 0 0 is the bit representation of number 12.
2. Right shift all the bits so => 0 1 1 0 (number =6)
3. Right shift all the bits so => 0 1 1 (number = 3).
• Each time you right shift the number, it will be divided by 2. So if you shift by a number by k then number will be divided by k2. (Keeps only integer).

Java Code:

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

 public class LeftRightShift { static void LeftShift(int n){ int x = n<<1; System.out.println("n<<1, Left shift by 1 of n: "+ n + " is : " + x); } static void RightShift(int n){ int x = n>>1; System.out.println("n>>1, Right shift by 1 of n: "+ n + " is : " + x); } public static void main(String[] args) { int n = 10; LeftShift(n); RightShift(n); n = 62; LeftShift(n); RightShift(n); } }

Output:

n<<1, Left shift by 1 of n: 10 is : 20
n>>1, Right shift by 1 of n: 10 is : 5
n<<1, Left shift by 1 of n: 62 is : 124
n>>1, Right shift by 1 of n: 62 is : 31

This site uses Akismet to reduce spam. Learn how your comment data is processed.