정수 2의 이진수인 0010을 왼쪽으로 2칸 이동하면 1000이 되어 정수 8이 됩니다. 정수 32의 이진수인 0101000을 오른쪽으로 2칸 이동하면 0001010이 되어 정수 10이 됩니다.
그럼 시프트 연산자를 사용해 봅시다.
> int number = 2; //0010 > > Console.WriteLine(number << 1); //0010 -> 0100 4 > > Console.WriteLine(number >> 1); //0010 -> 0001 1
0010을 왼쪽으로 비트 한 칸을 이동하면 0100이 되고, 0010을 오른쪽으로 비트 한 칸을 이동하면 0001이 됩니다. 시프트 연산자는 내부적으로는 이진수로 계산되지만 정수형 데이터이기에 출력할 때는 그대로 십진수로 표현됩니다.