[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가 됩니다.
비트 쉬프트 연산은 연산 속도가 빠르고 메모리를 적게 사용하는 특징이 있어서, 효율적인 프로그래밍에서 활용될 수 있습니다.
결론
비트 연산자인 >>
와 <<
는 파워풀하면서도 빠른 비트 쉬프트 연산을 제공합니다. 이를 통해 다양한 프로그래밍 상황에서 성능을 최적화하고 효율적으로 데이터를 처리할 수 있습니다.