http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter6.html
The storage allocator in Chapter 8 shows how a
union can be used to force a variable to be aligned on a particular kind of
storage boundary. 6.9 Bit-fields When storage space is at a premium, it may be necessary to pack several
objects into a single machine word; one common use is a set of single-bit
flags in applications like compiler symbol tables.