학생들이 자주 하는 실수
실수 1: &와 &&, |와 || 혼동
// 비트 연산 a & b // 비트 단위 AND a | b // 비트 단위 OR // 논리 연산 a && b // 논리 AND (참/거짓) a || b // 논리 OR (참/거짓)
구분법: 1개(&, |)는 비트 연산, 2개(&&, ||)는 논리 연산
실수 2: 시프트 방향 혼동
<< : 왼쪽으로 (값이 커짐, x2)
>> : 오른쪽으로 (값이 작아짐, /2)
기억법: 화살표 방향으로 비트가 이동
실수 3: 연산자 우선순위
if (value & (1 << 3) == 0) // ❌ 잘못됨! // == 가 & 보다 먼저 실행됨 if ((value & (1 << 3)) == 0) // ✅ 괄호 필수!
비교 연산자(==)가 비트 연산자(&)보다 우선순위가 높습니다!
실수 4: ~연산 결과 오해
unsigned char a = 1; // 00000001 unsigned char b = ~a; // 11111110 = 254 (0이 아님!)

