C++ 비트 연산(시프트 연산)
·
C++
C++의 비트 연산자는 , &, |, ~, ^ 가 있다. 차례대로 각자 무슨 역할을 하는지 알아보자. 먼저 는 시프트 연산자라고도 한다. 는 각각 비트값을 왼쪽, 오른쪽으로 이동시켜주는 연산을 하는 연산자 이다. 예시를 보면서 어떻게 연산되는지 확인해 보겠다. num의 값에 10진수 1이 들어가 있는 상태이다. 즉 메모리 공간에 아래의 그림과 같이 저장되어있을 것이다. 여기서 >1, 즉 비트값을 오른쪽으로 1칸 밀게 되면, 2를 나타내는 비트들이 전부 한칸씩 오른쪽으로 이동한다는 것이다. 즉 00000010 -> 00000001이 된다는 것이다. 그렇다면 결과 값은 어떻게 될까? 결과는 원래 값의 1/2이 된다는 것이다. 그렇다면 만약 num = 5, 2진수로 표현하면 101인 비트를 오른쪽으로 1칸 밀..