Algorithmsbitmask

Bitmasking — Pack Many Booleans into an Integer

TT
Testlaa Team
May 14, 20261 min read

An integer can encode a subset of labeled items: bit i on means “item i included.”

Try this in Python

def has(mask: int, i: int) -> bool:
    return (mask >> i) & 1 == 1


def set_bit(mask: int, i: int) -> int:
    return mask | (1 << i)


m = 0b101
print(has(m, 0), has(m, 1), bin(set_bit(m, 3)))

Key takeaways

  • Test bit with shift-and-1.
  • Union of sets is bitwise OR of masks.
  • Intersection is AND.

Tags:

Bits & subset DPPythonStudents