비트 시프트 연산자
시프트 연산자는 정수형 변수 또는 상수 값의 비트를 지정된 수만큼 이동하는 연산자입니다.
➊ x << n : 비트를 지정된 수 n만큼 왼쪽으로 이동하는 연산자입니다. 이동 후 오른쪽에 생기는 빈 자리는 0으로 채워집니다.
예 00000010 << 2 → 00001000
➋ x >> n : 비트를 지정된 수 n만큼 오른쪽으로 이동하는 연산자입니다. 이동 후 왼쪽에 생기는 빈 자리는 0으로 채워집니다.
예 00001000 >> 2 → 00000010
x << n은 x의 값을 2n으로 곱하는 결과와 같고 x >> n은 x의 값을 2n으로 나누는 결과와 같습니다. 코드를 실행하여 직접 확인해 보세요.
bit_shift.c
#include <stdio.h> main() { int x = 4; int n = 2; printf("%d << %d = %d\n", x, n, x << n); printf("%d >> %d = %d\n", x, n, x >> n); }
실행 결과
4 << 2 = 16
4 >> 2 = 1