비트 시프트 연산자

    시프트 연산자는 정수형 변수 또는 상수 값의 비트를 지정된 수만큼 이동하는 연산자입니다.

    x << n : 비트를 지정된 수 n만큼 왼쪽으로 이동하는 연산자입니다. 이동 후 오른쪽에 생기는 빈 자리는 0으로 채워집니다.

    00000010 << 2 → 00001000

    x >> n : 비트를 지정된 수 n만큼 오른쪽으로 이동하는 연산자입니다. 이동 후 왼쪽에 생기는 빈 자리는 0으로 채워집니다.

    00001000 >> 2 → 00000010

    x << nx의 값을 2n으로 곱하는 결과와 같고 x >> nx의 값을 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

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.