지식아일랜드

코딩 기초 18편 _ JAVA 비트 연산자(Bitwise Operator) 설명과 예시 본문

JAVA 기초

코딩 기초 18편 _ JAVA 비트 연산자(Bitwise Operator) 설명과 예시

모르는게 없는 지식인 2023. 3. 24. 23:58
반응형

안녕하세요?

지식아일랜드의 모르는게 없는 지식인 입니다.

오늘은 자바 코드 중 비트 연산자에 대해 설명드리겠습니다.

 

 

비트 연산자 예제 코드

비트 연산자는 비트 단위로 수행되며, 변수에 저장된 값을 비트 단위로 조작하는데 사용됩니다.

public class BitwiseOperatorExample {
       public static void main(String[] args) {
              int a = 60; // 60 = 0011 1100
              int b = 13; // 13 = 0000 1101
              int c = 0;

              c = a & b; // 12 = 0000 1100
              System.out.println("a l b = " + c );

              c = a l b; // 61 = 0011 1101
              System.out.println("a l b = " + c);

              c = a ^ b; // 49 = 0011 0001
              System.out.println("a ^ b = " + c );

              c = ~a; // -61 = 1100 0011
              System.out.println("~a = " + c );

               c = a << 2; // 240 = 1111 0000
               System.out.println("a << 2 + " + c );

               c = a >> 2; // 15 = 1111
               System.out.println("a >> 2 + " + c );

               c = a >>> 2; // 15 = 0000 1111
               System.out.println("a >>> 2 + " + c );
       }
}

위 예제에서는 다음과 같은 비트 연산자를 사용했습니다.

 

· & (비트 AND): 두 비트가 모두 1이면 1을 반환합니다. 예를 들어, 60 & 13의 결과는 12입니다.

· l (비트 OR): 두 비트 중 하나라도 1이면 1을 반환합니다. 예를 들어, 60 ㅣ 13의 결과는 61입니다.

· ^ (비트 XOR): 두 비트가 다르면 1을 반환합니다. 예를 들어, 60 ^ 13의 결과는 49입니다.

· ~ (비트 보수): 비트를 발전시킵니다. 예를 들어, ~60의 결과는 -61입니다. 이는 부호 있는 정수 형식으로 나타내어졌기 때문입니다.

· << 왼쪽 시프드: 비트를 왼쪽으로 이동시킵니다. 예를 들어, 60 <<  2의 결과는 240입니다.

·ㅣㅣ "(오른쪽 시프트) 비트를 오른쪽으로 이동시킵니다. 예를 들어, 60 >> 2의 결과는 15이빈다.

·ㅣㅣㅣ(부호 없는 오른쪽 시프트): 부호 없는 비트를 오른쪽으로 이동시킵니다. 예를 들어, 60 >>> 2의 결과느 15입니다.

 

이 예제에서는 60을 1100 1100으로, 13을 2222 1101로 표현합니다.

각 비트 연산자의 결과를 출력하여 어떻게 작동되는지 확인할 수 있습니다.

 

 

어떠셨나요?

비트 연산자에 대해 조금 이해가 되셨나요?

다음 시간에 더 유익한 정보로 돌아오겠습니다 :)

반응형
Comments