2011. 5. 11. 13:52

자바(Java)에서 boolean 자료형과 bit 연산의 종류 및 실행결과


자바에 있는 boolean 데이터 타입은 참과 거짓을 구별하며 0이면 거짓, 1이면 참이다. bit 연산에서 ~기호는 2의 보수를 구하고, << 연산자는 왼쪽으로 1씩 움직일 때마다 ×2를, 반대로 >>를 써서 오른쪽으로 1씩 움직일 때마다 ÷2를 한다.

  1: import java.util.* ;
  2: 
  3: class BitOperand {
  4:   public static void main(String[] args)  {
  5:   Scanner input = new Scanner(System.in) ;
  6: 
  7:   byte num1, num2, bitCalc ;
  8:   boolean result ;
  9: 
 10:   System.out.print("비교할 두 수 입력 : ") ;
 11:   num1 = input.nextByte() ;
 12:   num2 = input.nextByte() ;
 13: 
 14:   result = num1 > num2 ;
 15:   System.out.println(num1 + " > " + num2 + " => " + result) ;
 16: 
 17:   //2의 보수
 18:   bitCalc = (byte) ~num1 ;   
 19:   System.out.println("보수 : " + bitCalc) ;
 20: 
 21:   //XOR 연산
 22:   bitCalc = (byte)(num1 ^ num2) ;
 23:   System.out.println("XOR : " + bitCalc) ;
 24: 
 25:   //오른쪽으로 2bit 이동. 한 번 움직이면 ×2
 26:   bitCalc = (byte)(num1 >> 2) ;
 27:   System.out.println(">>2의 결과 : " + bitCalc) ;
 28: 
 29:   //왼쪽으로 2bit 이동. 한 번 움직이면 ÷2
 30:   bitCalc = (byte)(num2 << 2) ;
 31:   System.out.println("<<2의 결과 : " + bitCalc) ;
 32: 
 33:   //오른쪽으로 4bit 이동. 왼쪽은 부호에 상관없이 0으로 채워짐
 34:   bitCalc = (byte)(num1 >>> 4) ;
 35:   System.out.println(">>>4의 결과 : " + bitCalc) ;
 36:  }
 37: }