글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

자바에서 사용하는 비트 연산자를 이해한다.


코드
package ex03operator;

public class E07BitOperator {

	public static void main(String[] args) {
		
		int num1 = 5; // 0000000 0000000 0000000 0000101
		int num2 = 3; // 0000000 0000000 0000000 0000011
		int num3 = -1; // 11111111 11111111 11111111 11111111
							// 00000000 00000000 00000000 00000001 => 1
							// 1의 보수를 구해 -1를 나타낸다. 위에 두개를 더하면 0이 된다.
		
		/*
		 -1이 위와 가티 되는 이유는 1을 더했을 때 0이 되기 떄문이다.
		 양의 정수 1을 2의 보수를 취하면 -1이 된다.
		 */
		
		System.out.println("비트AND : " + (num1 & num2));
		System.out.println("비트OR : " + (num1 | num2));
		System.out.println("비트XOR : " + (num1 ^ num2));
		System.out.println("비트NOT : " + (~num3));
	}

}

 비트 연산은 이진수 연산입니다. 2진수를 여기서 깊이있게 설명하기에는 너무 길어지니 다른 블로그를 찾아보시길 바랍니다. 비트 연산자는 AND는 둘다 1일 때 1을 반환하고 하나라도 0이면 0을 반환합나디. OR은 하나라도 1이면 1을 반환합니다.  XOR은 다르면 1을 같으면 0을 반환합니다. NOT는 0이면 1을 1이면 0을 반환하는 연산자 입니다. 결과 값을 참고하여 보시면 이해가 쉽습니다.

 

결과 값