<비트연산자>

시프트 연산은 변수 << 이동할 비트 수 또는 변수 >> 이동할 비트 수 형식으로 사용합니다. 즉 지정한 횟

수대로 비트를 이동시키며 모자라는 공간은 0(음수면 1)으로 채웁니다. 연산자 모양 그대로 <<는 왼쪽 방

향으로 움직이는 연산자, >>는 오른쪽 방향으로 움직이는 연산자입니다.

예1) 0010(십진수 : 2)를 <<2하면 2비트 왼쪽이동 된다.

     이동되는 방향은 화살표 방향이다.

     시프트연산이라고 한다.

     결과 : 1000(십진수 : 8)

 

예2) 0100(십진수 : 4)를 >>1하면 1비트 오른쪽이동 된다.

     이동되는 방향은 화살표 방향이다.

     시프트연산이라고 한다.

     결과 : 0010(십진수 : 2)

 

응용문제) 11011001을 우측으로 산술이동 3회했을때 결과는 어떻게 되는지?

             ① 우측으로 3회 시프트연산한다.

                  [111]11011(001) -> 문제의 값이 음수이기때문에 앞에 값이 1로 채워지고(양수면 0으로 채워짐)

                  뒤의 값은 버려지게 된다. (괄호부분)

             ② 11111011 에서 2의 보수를 취해준다.

                 00000101  : 이 값을 10진수로 풀어주면 5가되고 음수이기때문에 -5가 된다.

Total
Today
Yesterday