> int number = 2; //0010
>
> Console.WriteLine(number << 1); //0010 -> 0100
4
>
> Console.WriteLine(number >> 1); //0010 -> 0001
1
0010을 왼쪽으로 비트 한 칸을 이동하면 0100이 되고, 0010을 오른쪽으로 비트 한 칸을 이동하면 0001이 됩니다. 시프트 연산자는 내부적으로는 이진수로 계산되지만 정수형 데이터이기에 출력할 때는 그대로 십진수로 표현됩니다.
부호 없는 오른쪽 시프트 연산자(>>>) 사용하기
C#에서는 오른쪽 시프트 연산자로 산술 오른쪽 시프트 연산자(>>)와 부호 없는 오른쪽 시프트 연산자(>>>) 두 가지를 사용할 수 있습니다.