* 이진 비트 연산을 수행해서 결과를 정수로 반환하는 연산자 (정수형만 사용 가능)
1. AND 연산 (&)
- 둘다 '1'일 경우 '1'로 변환
A | 1 | 0 | 1 | 0 |
B | 1 | 0 | 1 | 1 |
Result | 1 | 0 | 1 | 0 |
int A = 10;
int B = 11;
System.out.println("A : " + Integer.toBinaryString(A));
System.out.println("B : " + Integer.toBinaryString(B));
System.out.println("A & B : "+Integer.toBinaryString(A & B));
2. OR 연산 ( | )
- 하나만 '1'일 경우 '1'로 변환
A | 1 | 0 | 1 | 0 |
B | 1 | 0 | 1 | 1 |
Result | 1 | 0 | 1 | 1 |
int A = 10;
int B = 11;
System.out.println("A : " + Integer.toBinaryString(A));
System.out.println("B : " + Integer.toBinaryString(B));
System.out.println("A & B : "+Integer.toBinaryString(A | B));
3. XOR 연산 (^)
- 서로 다를 경우 '1'로 변환
A | 1 | 0 | 1 | 0 |
B | 1 | 0 | 1 | 1 |
Result | 0 | 0 | 0 | 1 |
int A = 10;
int B = 11;
System.out.println("A : " + Integer.toBinaryString(A));
System.out.println("B : " + Integer.toBinaryString(B));
System.out.println("A & B : "+Integer.toBinaryString(A ^ B));
4. NOT 연산 (~)
- 반대로 변환
A | 1 | 0 | 0 | 1 |
Result | 0 | 1 | 1 | 0 |
5. SHIFT 연산 (<< , >>)
1) >> : 오른쪽으로 주어진 비트 수만큼 이동
: 앞에 비어 있는 빈칸은 부호 비트로 채운다
Ex ) >> 2
우측으로 2비트 수 만큼 이동
A = 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
result | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
2) << : 왼쪽으로 주어진 비트 수만큼 이동
: 뒤에 비어 있는 빈칸은 0으로 채운다.
Ex) << 2
좌측으로 2비트 수 만큼 이동
A = 15 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
result | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
'Java' 카테고리의 다른 글
[JAVA] 진법 변환 정리 (n진수 <-> 10진수) (0) | 2021.08.15 |
---|---|
[Java] 간단한 로깅(Logging) 사용 방법 (1) | 2021.08.01 |
[Java] (String, char)배열, 문자열 상호 변환 방법 (0) | 2021.07.31 |