class bitClass
{
public static void main(String[] args)
{
/*
비트 연산자(속도가 빠름)
bit : 0 , 1 8 bit == 1 byte
& : AND
| : OR
^ : XOR(중요)
<< : Left Shift
>> : Right Shift
~ : NOT
*/
int number;
//AND
number= 0xCA & 0xF0;
System.out.println("number = "+ number);
System.out.printf("number = 0x%X\n", number);
//OR
number= 0xCA | 0xF0;
System.out.println("number = "+ number);
System.out.printf("number = 0x%X\n", number);
//XOR
number= 0xCA ^ 0xF0;
System.out.println("number = "+ number);
System.out.printf("number = 0x%X\n", number);
//한번 더 쓰면 0xCA값으로 돌아옴
number= number ^ 0xF0;
System.out.println("number = "+ number);
System.out.printf("number = 0x%X\n", number);
// ~ (NOT)
byte by = 0x55; //0 -> 1 1 -> 0
// 0101 0101
// 1010 1010
// = 170 = 0xAA
System.out.println("number =" + ~by);
System.out.printf("number = 0x%X\n", ~by);
// <<
/*
0000 0001 -> 1
0000 0010 -> 2
0000 0100 -> 4
0000 1000 -> 8
*/
int _num;
_num = 0x1 << 1;
System.out.println("_num = "+ _num);
_num = _num << 1;
System.out.println("_num = "+ _num);
// >>
/*
0000 1000 -> 8
0000 0100 -> 4
0000 0010 -> 2
0000 0001 -> 1
*/
_num = 0xf >> 2;
System.out.println("_num = "+ _num);
}
}
XOR
XOR은 보안에서 기초적인 암호화 & 복호화의 기능을 간단하게 보여준다.
ex)
XOR 1번 연산 -> 암호화
XOR 2번 연산 -> 복호화
단, 같은 값으로 XOR연산
비트연산자는 연산속도가 빠르므로 익숙해지면 좋다.
'IT Study > Java' 카테고리의 다른 글
기본 실습(삼항연산자 응용) (0) | 2018.05.02 |
---|---|
연산자 종합 실습(간단한 거스름돈 계산 문제) (0) | 2018.05.02 |
기본 실습(논리 연산자) (0) | 2018.05.02 |
기본 실습(기본 연산자) (0) | 2018.05.02 |
swap (0) | 2018.05.02 |