비트연산자
- 비트(bit) 단위 논리 연산을 할 때 사용
- 비트 단위로 좌/우로 전체 비트 이동 시 사용
- 1의 보수 만들 시 사용
비트 연산자 표
더보기
비트 연산자 | 설명 |
~ | 비트를 1이면 0, 0이면 1로 반전. (비트 NOT 연산자) |
& | 대응되는 비트가 모두 1이면 1을 반환. (비트 AND 연산자) |
| | 대응되는 비트 중 하나라도 1이면 1을 반환. (비트 OR 연산자) |
^ | 대응되는 비트가 서로 다르면 1을 반환.(비트 XOR 연산자) |
<< | 지정한 수 만큼 비트를 전부 좌측으로 이동. (left shift 연산자) |
>> | 지정한 수 만큼 비트를 전부 우측으로 이동. (right shift 연산자) |
<< (left shift 연산자)
- left shift 연산자 문법
피연산자<<이동할비트수
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 연산자 문법
피연산자>>이동할비트수
public class Main {
public static void main(String[] args) {
int A = 14;
System.out.println("14 >> 2 : 오른쪽으로 이동, 결과는 이진수 " + Integer.toBinaryString(A>>2));
}
}
> 출력
> 14 >> 2 : 오른쪽으로 이동, 결과는 이진수 11
'Java' 카테고리의 다른 글
[Java] Kruskal Algorithm (0) | 2023.02.01 |
---|---|
[Java] 객체 정렬 인터페이스 Comparable vs Comparator (2) | 2023.01.18 |
[Java] Design Pattern - State Pattern (0) | 2022.12.19 |
[Java] Scanner VS BufferedReader (0) | 2022.12.16 |
[Java-Effective] JVM (0) | 2022.12.16 |