JAVA/포스팅

자바 비트 피연산자 (Bitwise Operands)

짜집퍼박사(짜박) 2023. 11. 1. 21:57

자바의 비트 피연산자(Bitwise Operands)는 정수 데이터 타입 (int, long, short, byte, char)의 이진 표현을 다루고 비트 연산을 수행하는 데 사용됩니다. 비트 연산자는 개별 비트 수준에서 연산을 수행하며, 비트별 논리 연산, 시프트 연산, 비트별 반전 등을 지원합니다. 다음은 자바에서 사용되는 주요 비트 피연산자와 그 사용법에 대한 설명입니다.

 

1. 비트 AND (&)

& 연산자는 두 개의 피연산자에 대해 비트별 AND 연산을 수행합니다. 두 비트가 모두 1인 경우에만 결과 비트가 1이 됩니다.

int a = 5;  // 0101 (2진수)
int b = 3;  // 0011 (2진수)
int result = a & b; // result는 0001 (2진수), 즉 1 (10진수)

2. 비트 OR (|)

| 연산자는 두 개의 피연산자에 대해 비트별 OR 연산을 수행합니다. 두 비트 중 하나 이상이 1인 경우 결과 비트가 1이 됩니다.

int x = 5;  // 0101 (2진수)
int y = 3;  // 0011 (2진수)
int result = x | y; // result는 0111 (2진수), 즉 7 (10진수)

3. 비트 XOR (^)

^ 연산자는 두 개의 피연산자에 대해 비트별 XOR (배타적 OR) 연산을 수행합니다. 두 비트가 다른 경우 결과 비트가 1이 됩니다.

int m = 5;  // 0101 (2진수)
int n = 3;  // 0011 (2진수)
int result = m ^ n; // result는 0110 (2진수), 즉 6 (10진수)

4. 비트 NOT (~)

~ 연산자는 피연산자의 각 비트를 반전시킵니다. 0은 1로, 1은 0으로 변경됩니다.

int p = 5;  // 0101 (2진수)
int result = ~p; // result는 11111111111111111111111111111010 (2진수), 즉 -6 (10진수)

5. 비트 시프트 (<<, >>, >>>)

비트 시프트 연산자는 비트를 왼쪽(<<) 또는 오른쪽(>>, >>>)으로 이동시킵니다. 왼쪽 시프트는 2의 거듭제곱을 곱하고, 오른쪽 시프트는 2의 거듭제곱을 나눕니다. >> 연산자는 부호 비트를 유지하며 쉬프트하고, >>> 연산자는 부호 비트와 무관하게 쉬프트합니다.

int value = 8; // 1000 (2진수)
int leftShifted = value << 2; // leftShifted는 32 (10진수), 100000 (2진수)
int rightShifted = value >> 2; // rightShifted는 2 (10진수), 10 (2진수)

비트 연산자는 주로 비트 조작, 마스킹, 비트 단위 데이터 처리 등에 사용됩니다. 그러나 비트 연산자를 사용할 때 주의해야 하며, 데이터 타입의 크기와 부호 여부에 따른 동작을 고려해야 합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 switch문  (0) 2023.11.02
자바 if 조건문  (0) 2023.11.02
자바 문자열 피연산자 (String Operands)  (0) 2023.11.01
자바 논리 피연산자 (Logical Operands)  (0) 2023.11.01
자바 숫자 피연산자 (Numeric Operands)  (0) 2023.11.01