deblog

[정보처리기사] 비트연산자 계산방법 본문

기록/공부

[정보처리기사] 비트연산자 계산방법

스콘_ 2021. 7. 16. 11:29
반응형

1. 비트연산자란 비트(bit)단위로 논리 연산을 할 때 사용하는 연산자입니다. byte아님.  byte는 8bit

비트 연산자 설명
& 대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산)
| 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산)
<< 지정한 수만큼 비트들을 전부 왼쪽으로 이동시킴. (left shift  연산)
>> 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산)

 

AND연산자

대응되는 비트가 모두 1이면 1을 반환하고, 아니면 0을 반환합니다.

OR연산자 |

대응되는 두 비트 중 하나라도 1이면 1을 반환하고, 모두 0일때만 0을 반환합니다.

XOR연산자 ^

대응되는 두 비트가 서로 다르면 1을 반환하고 서로 같으면 0을 반환합니다.

NOT연산자 ~

비트가 0이면 1, 1이면 0을 반환합니다.

2. 실습 

자바 코드를 사용하여 비트연산자를 사용해 보았습니다.

public class MyClass {
    public static void main(String args[]) {
        byte a = 19, b = 15;
        
        System.out.printf("%d\n",~a); // -20
        System.out.printf("%d\n",a^b); // 28
        System.out.printf("%d\n",a&b); // 3
        System.out.printf("%d\n",a|b); //31
    }
}

 

우선 a는 10진수로 19입니다.

 

19을 2진수로 바꾸기 위한 방법입니다. 2로 나누어 나온 나머지를 이용해 2진수를 만듭니다.

2로 나눌수 없을때까지 나눕니다. 1이나 0이 나오면 끝입니다.

그래서 10진수 19는 2진수 10011이 됩니다.

 

b는 15이므로 1111이 됩니다. 

헷갈린다면 윈도우 계산기의 프로그래머 계산기를 이용하여 계산해보면 됩니다.

 

이런식으로 계산하면 됩니다!

실제로 실기시험장을 가서 풀때는 다 계산해서 풀어야 하기때문에 비트연산자를 제대로 숙지하고 가야 문제를 풀수있습니다.

 

시프트 연산자는 오른편의 수만큼 전체 비트를 이동시키는것입니다.

10진수를 2진수로 바꾸는 방법과 2진수를 10진수로 바꾸는 방법을 숙지한다면 풀리는 부분이기 때문에

실습예제는 하지 않도록 하겠습니다.

'기록 > 공부' 카테고리의 다른 글

[정보처리기사] 공동모듈  (0) 2021.09.29
[정보처리기사] 모듈(Module)이란?  (0) 2021.09.28
정보처리기사 실기 공부 앱 추천  (0) 2021.09.17
취업성공패키지 후기  (1) 2021.08.24
정보처리 기사 실기(계획)  (0) 2021.03.31
Comments