본문 바로가기

컴퓨터/JAVA

코딩테스트를 위한 자바(java) 비트연산 - 5

반응형

 

비트 마스크를 알기전에 미리 공부해야 할 비트연산에 대한 내용이다. 

잘 숙지 해놓으면 비트 마스트를 이해하는데 도움이 될 것이다.

논리곱  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
반응형