[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 


코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
 
    }
}
 
 
cs



실행화면


728x90
반응형