* 이진 비트 연산을 수행해서 결과를 정수로 반환하는 연산자 (정수형만 사용 가능)
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 |