반응형
비트 연산자
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 |
1 |
0 | 1 |
+ |
0 |
0 |
1 | 1 |
= |
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
반응형