Left Shift operator is denoted by << << shifts the bits to the left by the denoted positions. N << 1 shifts the bits in N to the left by 1 position. Consider 9 whose binary representation is 1001. Now when 1001 is shifted left using << by 1, we get 10010 (a zero is added in the end). Decimal value of 10010 is 18. So the below program prints 18 as the output. #include <stdio.h> int main(){ //Binary representation of 9 is 1001 int N = 9; /* Now 1001 is shifted left using << by 1. So it becomes 10010. Decimal value of 10010 is 18. */ printf("%d", N << 1); } Another Example: Consider N=6. Binary representation of 6 is 110. Now 110 is shifted left using << by 2 giving the value as 11000.  Decimal value of 11000 is 24. So the output of the program is 24. #include <stdio.h> int main(){ //Binary representation of 6 is 110 int N = 6; /* Now 110 is shifted left using << by 2. So it becomes 11000. Decimal value of 11000 is 24. */ printf("%d", N << 2); }  

Left Shift Operator2 months ago

Left Shift operator is denoted by <<

<< shifts the bits to the left by the denoted positions.

N << 1 shifts the bits in N to the left by 1 position.

Consider 9 whose binary representation is 1001.

Now when 1001 is shifted left using << by 1, we get 10010 (a zero is added in the end).

Decimal value of 10010 is 18.

So the below program prints 18 as the output.

#include <stdio.h>

int main(){
  //Binary representation of 9 is 1001
  int N = 9;

  /*
    Now 1001 is shifted left using << by 1. 
    So it becomes 10010.  Decimal value of 10010 is 18.
  */
  printf("%d", N << 1);
}

Another Example:

Consider N=6. Binary representation of 6 is 110. Now 110 is shifted left using << by 2 giving the value as 11000.  Decimal value of 11000 is 24.

So the output of the program is 24.

#include <stdio.h>

int main(){
  //Binary representation of 6 is 110
  int N = 6;

  /*
    Now 110 is shifted left using << by 2.
    So it becomes 11000.  Decimal value of 11000 is 24.
  */
  printf("%d", N << 2);
}