비트연산자 : 피연산자를 비트단위로 논리 연산
& AND - 두 비트 모두 1일 경우에만 연산 결과 1
| OR - 두 비트 중 하나만 1일 경우에만 연산 결과 1
^ XOR - 두 비트 중 하나는 1이고 다른 하나가 0일 경우에만 연산 결과 1
<< >> SHIFT
~ NOT - 비트 반전(보수)
//AND
int number = 0x71 & 0x8a;
System.out.println(number);
//OR
int number1 = 0x71 | 0x8a;
System.out.println(number1);
System.out.printf("%x \n", number1);
//XOR -> 보안
int number2 = 0x71 ^ 0x85;
System.out.println(number2);
System.out.printf("0x%x \n", number2);
int number3 = 0xf4 ^ 0x85;
System.out.println(number3);
System.out.printf("0x%x \n", number3);
//left shift == *2
short sh = 0x1 << 1;
System.out.println(sh);
//right shift == /2
sh = 0x8 << 1;
System.out.println(sh);
//~반전 0-> 1 / 1 -> 0
byte by = ~ 0x55;
System.out.printf("%x \n", by);