비트연산

AND 연산

1. AND 연산 (&)

규칙

0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1  ← 둘 다 1일 때만 1

예시

  1101 (13)
& 1010 (10)
--------
  1000 (8)

C 코드

int a = 13;    // 1101
int b = 10;    // 1010
int c = a & b; // 1000 = 8
printf("%d", c); // 출력: 8

실무 용도: 특정 비트 확인 (마스킹)

// 3번 비트가 1인지 확인
int value = 0b1101;  // 13
int mask = 0b1000;   // 8 (3번 비트만 1)

if (value & mask) {
    printf("3번 비트는 1입니다");
}

Arduino 예시: 핀 상태 확인

// 5번 핀이 HIGH인지 확인
if (PINB & (1 << 5)) {
    // 5번 핀이 HIGH
}

댓글

댓글 본문
버전 관리
anton
현재 버전
선택 버전
graphittie 자세히 보기