더북(TheBook)

정수 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이 됩니다. 시프트 연산자는 내부적으로는 이진수로 계산되지만 정수형 데이터이기에 출력할 때는 그대로 십진수로 표현됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.