Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C/C++의 왼쪽 시프트 및 오른쪽 시프트 연산자

<시간/>

왼쪽 시프트

왼쪽 시프트 연산자에서 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 왼쪽으로 이동합니다.

다음은 C 언어의 왼쪽 시프트 연산자의 예입니다.

예시

#include <stdio.h>

int main() {
   int y = 28; // 11100
   int i = 0;

   for(i;i<=3;++i)
   printf("Left shift by %d: %d\n", i, y<<i);

   return 0;
}

출력

다음은 출력입니다.

Left shift by 0: 28
Left shift by 1: 56
Left shift by 2: 112
Left shift by 3: 224

오른쪽 시프트

오른쪽 시프트 연산자에서 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동합니다.

다음은 C 언어의 오른쪽 시프트 연산자의 예입니다.

예시

#include <stdio.h>

int main() {
   int x = 10; // 1010
   int i = 0;

   for(i;i<2;i++)
   printf("Right shift by %d: %d\n", i, x>>i);

   return 0;
}

출력

다음은 출력입니다.

Right shift by 0: 10
Right shift by 1: 5