250x250
Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

개린이 개발노트

Java 정처기에 자주 나오는 자바 비트 연산자 본문

자바Java

Java 정처기에 자주 나오는 자바 비트 연산자

개린이9999 2023. 11. 23. 16:34
728x90

정보처리기사 시험에 자주 나오는 비트연산!
 Byte를 8등분 한게 Bit
 Bit는 0,1 둘중 하나의 값만 저장하는 컴퓨터가 표현(저장)가능한 작은 작은 단위
 물론 이전에 배운대로 0,1 값으로 산술연살을 하거나, 비교연산을 할 수 있지만 연산을 통해 자리수를 옮길 수 도 음
 이처럼 Bit의 자리수를 옮기는 것을 바로 비트 연산이라고 한다.

 

   '<<' (왼쪽으로 자리수 옮기기)'>>'(오른쪽으로 자리수 옮기기)
        0,1은 2진수 값이기 때문에
        - 자리수를 왼쪽으로 옮기는 횟수만큼 2의 배수로 곱셈이 연산되는 것과 동일하다
        - 자리수를 오른쪽으로 옮기는 횟수만큼 2의 배수로 나눗셈이 연산되는 것과 동일하다

      0101을 << (왼쪽으로 자리수 옮기기) 한다면
      0101 은 1010 이 된다
          5   ->  10   (2배가 되었음)


public class Main2 {
    public static void main(String[] args) 
  

        System.out.println(3<<2);
        System.out.println(3<<1);
        
            }
}


 값이 12와 6이 나오는데 왜그럴까?
        

3을 이진수로 표현하면 11, 11을 오른쪽으로 2번 옮기니까 1100이 되고 1100은 십진수로 변환하면 12가된다.
마찬가지로 3을 이진수로 표현하면 11, 11을 오른쪽으로 1번 옮기니까 110이 되고 110은 십진수로 표현하면 6이 된다.



728x90