!Operator precedence: `n & n - 1` is parsed as `n & (n - 1)` in most languages but double-check with parentheses.
!Arithmetic right shift vs logical right shift — in Java, `>>` is arithmetic, `>>>` is logical.
!Negative numbers in bit manipulation — two's complement makes `~n = -(n+1)`, which surprises many.
!Off-by-one in bitmask DP: n items need masks 0 through (1<<n)-1, so use `< (1<<n)` not `<= (1<<n)`.