[c++] 비트 시프트 연산자(<<, >>)의 사용 예시

비트 시프트 연산자는 C++에서 비트 단위로 좌우로 비트를 이동시키는데 사용됩니다. << 연산자는 왼쪽으로 비트를 이동하고, >> 연산자는 오른쪽으로 비트를 이동시킵니다.

비트를 왼쪽으로 이동하는 예시

아래는 << 연산자를 사용하여 비트를 왼쪽으로 2번 이동하는 예시입니다.

#include <iostream>
using namespace std;

int main() {
    int num = 8; // 이진수 표현으로 0000 1000

    num = num << 2; // 왼쪽으로 2번 이동
    // 이진수로 표현하면 0010 0000이 됨

    cout << "이동 후의 값: " << num << endl; // 32 출력

    return 0;
}

위의 예시는 num의 이진수 표현이 0000 1000일 때, << 연산자를 사용하여 2번 왼쪽으로 이동시키면 0010 0000이 되어 32가 출력되는 것을 보여줍니다.

비트를 오른쪽으로 이동하는 예시

아래는 >> 연산자를 사용하여 비트를 오른쪽으로 3번 이동하는 예시입니다.

#include <iostream>
using namespace std;

int main() {
    int num = 32; // 이진수 표현으로 0010 0000

    num = num >> 3; // 오른쪽으로 3번 이동
    // 이진수로 표현하면 0000 0010이 됨

    cout << "이동 후의 값: " << num << endl; // 4 출력

    return 0;
}

위의 예시는 num의 이진수 표현이 0010 0000일 때, >> 연산자를 사용하여 3번 오른쪽으로 이동시키면 0000 0010이 되어 4가 출력되는 것을 보여줍니다.

비트 시프트 연산자는 비트 단위로 효율적인 값을 계산하거나 데이터를 다룰 때 유용하게 사용됩니다.

참고 자료: cplusplus.com - Bitwise Shift Operators