**What is Left Shift (<<) Operator: **

**a<<b**means left shift the bits of number**a**by**b places**.- 3<<2 means left shift the bits of number
**3**by**2 places. Result = 12**- 011 is the bit representation of number 3.
- Left shift all the bits so => 0 1 1 0 (number =6)
- Left shift all the bits so => 0 1 1 0 0 (number = 12).

- 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 k
^{2}.

**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**- 0 1 1 0 0 is the bit representation of number 12.
- Right shift all the bits so => 0 1 1 0 (number =6)
- 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 k
^{2}. (Keeps only integer).

**Java Code**:

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