//비트연산자
//쉬프트 <<,>>
//전처리 define
//전처리 = 본 프로그래밍 소스코드 작성 및 컴파일을 하기 전에 하는 작업들을 일컫습니다.
#define HUNGRY 1 //define을 사용하면 좋은점
#define THIRSTY 2 //1. 가독성
#define TIRED 3 //2. 유지보수
#include <stdio.h>
int main(void)
{
unsigned char byte = 13;
byte <<= 3; //2^n 배수
printf("%d ", byte);
byte >>= 1; // 2^n 나눈 몫
printf("%d ", byte);
//비트 곱(&), 합(|), xor(^) 반전(~)
//비트 단위로 연산을 진행,
//& 둘다 1인 경우 1
// | 둘중 하나라도 1이면 1
// ^ 같으면 0, 다르면 1
// ~1 = 0, 0 = 1
unsigned int iStatus = 0;
//상태 추가
iStatus |= HUNGRY;
iStatus |= THIRSTY;
//상태 확인
if(iStatus & THIRSTY)
{
}
//특정 자리 비트 제거
iStatus &= ~THIRSTY;
return 0;
}
댓글