본문 바로가기

Computer Engineering

[C] shift operator (쉬프트 연산자)

#include <stdio.h>

int main(void)
{
  printf("5 << 2 의 연산 결과는? %d\n",5<<2);
  /*----5를 2진수로 변환하면 
 00101 이라는 값이 나온다. 이 값을 << 방향으로 2 칸 옮긴다고 생각하면된다.
 10100 이 되는 것이다. 이 값을 10진수로 변경해 주면 20 이 되는 것이다.---*/

  printf("5 >> 2 의 연산 결과는? %d\n",5>>2);
  /*----5를 2진수로 변환하면 
 00101 이라는 값이 나온다. 이 값을 >>방향으로 2 칸 옮긴다고 생각하면된다.
 00001 이 되는 것이다. 이 값을 10진수로 변경해 주면 1이 되는 것이다.---*/

  return 0;
}