[java] 비트 이동 연산자
비트 이동 연산자는 이진수로 표현된 숫자의 비트를 왼쪽이나 오른쪽으로 이동시키는 연산자입니다. Java에서는 비트 이동 연산자로 <<
(왼쪽 시프트), >>
(부호 있는 오른쪽 시프트), >>>
(부호 없는 오른쪽 시프트)를 제공합니다.
왼쪽 시프트 연산자 («)
왼쪽 시프트 연산자는 피연산자의 비트를 왼쪽으로 지정된 수만큼 이동시킵니다. 이 때, 오른쪽에 추가된 비트는 0으로 채워집니다.
예시:
int x = 5; // 0000 0101
int result = x << 2; // 0001 0100 (20)
부호 있는 오른쪽 시프트 연산자 (»)
부호 있는 오른쪽 시프트 연산자는 피연산자의 비트를 오른쪽으로 지정된 수만큼 이동시킵니다. 이 때, 왼쪽에 추가되는 비트는 부호 비트와 동일한 값으로 채워집니다.
예시:
int x = -16; // 1111 0000
int result = x >> 2; // 1111 1100 (-4)
부호 없는 오른쪽 시프트 연산자 (»>)
부호 없는 오른쪽 시프트 연산자는 피연산자의 비트를 오른쪽으로 지정된 수만큼 이동시킵니다. 이 때, 왼쪽에 추가되는 비트는 항상 0으로 채워집니다.
예시:
int x = -16; // 1111 0000
int result = x >>> 2; // 0011 1100 (60)
비트 이동 연산자는 특히 비트 단위 연산과 함께 사용되어 데이터를 효율적으로 조작하는 데 활용됩니다.
결론
Java의 비트 이동 연산자를 사용하여 비트를 왼쪽이나 오른쪽으로 시프트하여 숫자를 효율적으로 조작할 수 있습니다.
참고 문헌: Oracle Java Documentation - Bitwise and Bit Shift Operators