A set s is conveniently shown in a computer store by its characteristic function C(s). This is an array of logical numbers whose ith element has the meaning "i is present in s". As , the group of lower integers s = {2, 3, 5, 7, 11, 13} is presented by the linear of bits, by a bitstring:
C(s) = (... 0010100010101100)
The presentation of sets by their characteristic function has the advantage that the operations of computing the intersection, union, and difference of two sets may be implemented as elementary logical operations. The following equivalences, which hold for all components of the base type of the sets y and x, relate logical functions with operations on sets:
i IN (x+y) = (i IN x) OR (i IN y)
i IN (x*y) = (i IN x) & (i IN y)
i IN (x-y) = (i IN x) & ~(i IN y)
These logical operations are available on all digital machine, and moreover they operate concurrently on all corresponding components of a word. It therefore seems that in order to be able to implement the basic set functions in a simpler manner, sets must be represented in a lower, fixed number of words upon which not only the basic logical functions, but also those of shifting are available. Testing for membership is then started by a single shift and a subsequent (sign) bit test operation. As a result, a test of the form x IN {c1, c2, ... , cn} can be stated considerably more efficiently than the similar Boolean expression
(x = c1) OR (x = c2) OR ... OR (x = cn)
A corollary is that the set structure could be used only for small integers as components, the largest one being the wordlength of the relying computer.