연산자

비트 시프트 연산자(Bit Shift Operator)

왼쪽 시프트 <<

비트를 왼쪽으로 이동, 오른쪽은 0으로 채움

int a = 5;        // 0000 0101
int b = a << 2;   // 0001 0100 = 20
// 5 × 2² = 20

오른쪽 시프트 >>

비트를 오른쪽으로 이동

int a = 20;       // 0001 0100
int b = a >> 2;   // 0000 0101 = 5
// 20 ÷ 2² = 5

음수 처리

int a = -8;       // 1111 1000 (2의 보수)
int b = a >> 2;   // 1111 1110 = -2 (산술)

주의사항


예제

35 = 0010 0011
35 << 2 = 1000 1100 = 140

35 × 2² = 35 × 4 = 140