응애맘마조

비트 연산자와 시프트 연산자 본문

공부/2D과제

비트 연산자와 시프트 연산자

TH.Wert 2022. 12. 13. 01:25

주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다.

비트 연산자(Bitwise Operator)
비트 연산자는 비트 단위로 논리 연산을 할 때 사용하는 연산자입니다.

비트 연산자 의미
& AND 연산 : 대응되는 비트가 모두 1이면 1을 반환
| OR 연산 : 대응되는 비트 중에서 하나라도 1이면 1을 반환
^ XOR 연산 : 대응되는 비트가 서로 다르면 1을 반환
~ NOT 연산 : 비트가 1이면 0으로, 0이면 1로 반환

비트 연산자의 결과 값은 다음과 같습니다.
결과 값(AND)  | 결과 값(OR)  | 결과 값(XOR)  |  결과 값(NOT) 
0 & 0 = 0         | 0 | 0 = 0        | 0 ^ 0 = 0          | ~0 = 1
0 & 1 = 0         | 0 | 1 = 1        | 0 ^ 1 = 1          | ~1 = 0
1 & 0 = 0         | 1 | 0 = 1        | 1 ^ 0 = 1
1 & 1 = 1         | 1 | 1 = 1        | 1 ^ 1 = 0


시프트 연산자(Shift Operator)
시프트 연산자는 비트 연산자 중 하나로 비트 값을 왼쪽이나 오른쪽으로 이동시키는 연산자입니다.
비트 값을 주어진 비트 수만큼 이동시킨 후 빈 공간을 0으로 채웁니다.

시프트 연산자 의미
>> Left Shift 연산 : 비트 값을 주어진 숫자만큼 오른쪽으로 이동
<< Right Shift 연산 : 비트 값을 주어진 숫자만큼 왼쪽으로 이동

시프트 연산자의 결과 값은 다음과 같습니다.
num1 = 0000 0011
num1 << 3
0001 1000

num2 = 0001 1000
num2 >> 2
0000 0110

출처
http://www.tcpschool.com/c/c_operator_bitwise
http://wiki.hash.kr/index.php/%EC%8B%9C%ED%94%84%ED%8A%B8%EC%97%B0%EC%82%B0%EC%9E%90

읽어주셔서 감사합니다.

'공부 > 2D과제' 카테고리의 다른 글

원 그리기2  (0) 2022.12.16
행렬  (2) 2022.12.15
원 그리기  (0) 2022.12.10
원하는 도형 그리기  (0) 2022.12.08
삼각비와 삼각함수  (0) 2022.12.07
Comments