비트연산자
- 비트(bit) 단위 논리 연산을 할 때 사용
- 비트 단위로 좌/우로 전체 비트 이동 시 사용
- 1의 보수 만들 시 사용
비트 연산자 표
비트 연산자 | 설명 |
---|---|
~ | 비트를 1이면 0, 0이면 1로 반전. (비트 NOT 연산자) |
& | 대응되는 비트가 모두 1이면 1을 반환. (비트 AND 연산자) |
| | 대응되는 비트 중 하나라도 1이면 1을 반환. (비트 OR 연산자) |
^ | 대응되는 비트가 서로 다르면 1을 반환.(비트 XOR 연산자) |
« | 지정한 수 만큼 비트를 전부 좌측으로 이동. (left shift 연산자) |
» | 지정한 수 만큼 비트를 전부 우측으로 이동. (right shift 연산자) |
« (left shift 연산자)
- left shift 연산자 문법
1
2
3
4
5
6
7
8
9
10
11
12
피연산자<<이동할비트수
public class Main {
public static void main(String[] args) {
int A = 14;
System.out.println("14 << 2 : 왼쪽으로 이동, 결과는 이진수 " + Integer.toBinaryString(A<<2));
}
}
> 출력
> 14 << 2 : 왼쪽으로 이동, 결과는 이진수 111000
» (right shift 연산자)
- right shift 연산자 문법
1
2
3
4
5
6
7
8
9
10
11
12
피연산자>>이동할비트수
public class Main {
public static void main(String[] args) {
int A = 14;
System.out.println("14 >> 2 : 오른쪽으로 이동, 결과는 이진수 " + Integer.toBinaryString(A>>2));
}
}
> 출력
> 14 >> 2 : 오른쪽으로 이동, 결과는 이진수 11