정수가 비트가 나열된 형태라는 점을 이용해서 정수를 불린 값들로 이루어진 작은 집합으로 표현할 수 있다. 이렇게 해당 정수에 대한 비트연산으로 모든 집합에 대한 연산이 가능하다.
부호가 있는 32비트 정수를 이용하면 되채 32개의 원소까지 처리할 수 있다. S = 34는 이진법으로 100010 이므로 작은 집합 $\{1, 5\}$를 표현한 것이기도 하다.
정수에 2를 곱하거나 2로 나누기 위해서 는 해당 정수를 왼쪽과 오른쪽으로 한 비트 시프트하기만 하면 된다. 나누기의 경우 최하위 비트는 버리므로 정수를 2로 나누고 자동으로 내림하게 된다는 것을 유의하자.
집합의 j번째 원소를 놓으려면(키려면) 비트 OR연산을 이용하면 된다.
S |= ( 1 << j )
집합의 j번째 원소가 켜져 있는 지 확인하려면 비트 AND연산을 이용하자.
T = S & ( 1 << j )
T = 0 이라면 j번쨰 원소가 꺼져있는 것이고 T ≠ 0 ( T = ( 1 << j ))라면 j번째 원소가 켜져 있는 것이다.
집합의 j번째 원소를 지우려면(끄려면) 비트 AND연산을 이용하자.
S &= ~( 1 << j )
집합의 j번째 원소를 반전하려면 비트 XOR연산을 사용하자.
S ^= ( 1 << j )