[JAVA] 비트 연산자 &(논리곱), |(논리합), 배타적 논리합(xor), 보수표현(not)

반응형

비트 연산자

1. &(논리곱)

5 & 3 = 1

 

5를 2진수로 바꾸면 0101

3을 2진수로 바꾸면 0011

 

각각의 2진수를 논리연산자 &&(And)로 계산하면 결과 값은 0001

 

0001 을 10 진수로 변경하면 1

 


 0  1  0  1
 +  0  0  1  1
 =  0  0  0  1

2. |(논리합)

Or연산자

 

5 | 3 = 7

 


0 1 0 1
 + 0 0 1 1
 = 0 1 1 1

 

 

3. 배타적 논리합(xor)

각 비트를 비교하여 한 쪽이 1이고 다른 쪽이 0 이면 1을 반환한고, 아니면 0을 반환한다.

 

5^3 =6

 


0
 +
 = 0 1 1 0

 

 

4. 보수표현(Not)

MSB(부호비트) 비트 단위에 포함되므로 , 양수 -> 음수 / 음수 -> 양수 변환된다.

해당 value의 반대 부호 -1

 

~-30

결과값 : 29

~-20

결과값 : -21 

 

코드

public class Operator02 {

    public static void main(String[] args) {
        
    int num1 = 5;
    int num2 = 3;
    int num3 = -30;
    int num4 = 20;
    
    System.out.println(num1 & num2);
    System.out.println(num1 | num2);
    System.out.println(num1 ^ num2);
    System.out.println(num3);
    System.out.println(num4);

    }
}

 

실행화면

 

728x90
반응형