본문 바로가기

IT Study/Java

기본 실습(비트 연산자)

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