반응형
비트 마스크를 알기전에 미리 공부해야 할 비트연산에 대한 내용이다.
잘 숙지 해놓으면 비트 마스트를 이해하는데 도움이 될 것이다.
논리곱 AND & | 두 비트가 모두 1일때 1을 반환 |
논리합 OR | | 두 비트 중 하나라도 1이면 1을 반환 |
반전 ~ | 비트가 1이면 0, 0이면 1을 반환 |
배타적논리합 XOR ^ | 두 비트가 같으면 0, 다르면 1을 반환 |
오른쪽 시프트 연산자 >> | 오른쪽으로 이동 후 왼쪽에는 0을 삽입 |
왼쪽 시프트 연산자 << | 왼쪽으로 이동 후 오른쪽에는 0을 삽입 |
시프트 연산자를 사용시 해당 방향의 끝을 넘어가는 비트는 사라지게 된다.
피 연산자는 byte, int, short, long, char 타입만 가능하고 boolean, double, float는 불가능하다.
byte c = 20; // 10100
byte d = (byte) (c>>3); // 00010 오른쪽으로 3칸 이동
// d == 2
byte a = 5; // 101
byte b = (byte) (a<<2); // 10100 왼쪽으로 2칸 이동
// b == 20
반응형
'컴퓨터 > JAVA' 카테고리의 다른 글
java 배열 복사, String 비교 할 때 주의점!!! (0) | 2020.06.09 |
---|---|
코딩테스트를 위한 자바(java) 비트마스크 - 6 (0) | 2020.03.12 |
코딩테스트를 위한 자바(java) 2차원 배열 입력받기 - 4 (0) | 2020.03.08 |
코딩테스트를 위한 자바(java) 순열함수 구현 - 3 (0) | 2020.02.21 |
코딩테스트를 위한 자바(java) 정렬 - 2 (0) | 2020.02.21 |