728x90
반응형

비트 연산자

& ( 비트 단위 AND )  두개의 비트가 모두 1일 때 1을 반환
| ( 비트 단위 OR )   두개의 비트중 한개라도 1일때 1반환
^ ( 비트 단위 XOR )  두개의 비트가 서로 다를 경우만 1반환
~ ( 비트 단위 NOT ) 보수연산, 비트 반전
<< ( 왼쪽으로 쉬프트 )  비트를 왼쪽으로 이동시킨 값을 반환
>>( 오른쪽으로 쉬프트 ) 비트를 오른쪽으로 이동시킨 값을 반환

 

예제 👇

#include <stdio.h>

int main(void) {
  char a = 15; // 0 0 0 0 1 1 1 1  
  char b = 10; // 0 0 0 0 1 0 1 0
  char result = 0;

  // & 연산 
  result = a & b; // 0 0 0 0 1 0 1 0       10  
  printf("& 연산 : %d \n", result);

  // | 연산 
  result = a | b; // 0 0 0 0 1 1 1 1       15  
  printf("| 연산 : %d \n", result);

  // ^ 연산 
  result = a ^ b; // 0 0 0 0 0 1 0 1       5  
  printf("^ 연산 : %d \n", result);

  // << 연산
  a = a << 1;
  printf("a<<1 연산 : %d \n", a);  // 0 0 0 0 1 1 1 1  ->   0 0 0 1 1 1 1 0   30

  b = b >> 1;
  printf("b>>1 연산 : %d \n", b);  // 0 0 0 0 1 0 1 0  ->   0 0 0 0 0 1 0 1   5

  printf("%d\n", 600 >> 2);
  return 0;
}
반응형

'자격증 > 정보처리기사' 카테고리의 다른 글

[정보처리기사 실기] XP 기법  (0) 2022.03.30
[정보처리기사 실기] 소프트웨어 생명 주기  (0) 2022.03.28
실기 C언어 문제  (0) 2021.07.26
실기 Java 문제  (0) 2021.07.23
실기 Python 문제  (0) 2021.07.22
복사했습니다!