- Forgetting operator precedence: Bitwise operators have lower precedence than comparison. Use parentheses: (a & b) == 0.
- Signed vs unsigned confusion: Right shift on signed negative numbers in some languages fills with s (arithmetic shift).
- Off-by-one in bit positions: Bits are 0-indexed from right.
Bit 0 is least .
- Integer overflow during shifts: Shifting left can overflow. Use unsigned types or long integers when needed.