[java] 비트 연산자의 비트 쉬프트

비트 쉬프트 연산은 비트 단위로 피연산자의 비트를 오른쪽이나 왼쪽으로 이동시키는 연산입니다. Java에서는 비트 쉬프트 연산을 위한 비트 연산자인 >> (오른쪽 쉬프트)와 << (왼쪽 쉬프트)를 제공합니다.

오른쪽 쉬프트 연산 (>>)

오른쪽 쉬프트 연산은 피연산자의 비트를 오른쪽으로 이동시킵니다. 이때 왼쪽에 새로 생성되는 비트는 부호 비트의 값(0 또는 1)에 따라 채워집니다.

int number = 8;
System.out.println(number >> 2); // 출력 결과는 2

위 예제에서 8의 이진 표현은 0000 1000이며, 이를 오른쪽으로 2비트 시프트하면 0000 0010가 됩니다. 이진수로 표현하면 2가 됩니다.

왼쪽 쉬프트 연산 (<<)

왼쪽 쉬프트 연산은 피연산자의 비트를 왼쪽으로 이동시킵니다. 이때 오른쪽에 새로 생성되는 비트들은 항상 0으로 채워집니다.

int number = 8;
System.out.println(number << 2); // 출력 결과는 32

위 예제에서 8의 이진 표현은 0000 1000이며, 이를 왼쪽으로 2비트 시프트하면 0010 0000이 됩니다. 이진수로 표현하면 32가 됩니다.

비트 쉬프트 연산은 연산 속도가 빠르고 메모리를 적게 사용하는 특징이 있어서, 효율적인 프로그래밍에서 활용될 수 있습니다.

결론

비트 연산자인 >><<는 파워풀하면서도 빠른 비트 쉬프트 연산을 제공합니다. 이를 통해 다양한 프로그래밍 상황에서 성능을 최적화하고 효율적으로 데이터를 처리할 수 있습니다.

참고: Oracle Java Documentation