One example of a binary grey code follows. Please note the number
of bits that change for each number and the reflections that exist
in the counting system.

 0 = 0000
 1 = 0001
 2 = 0011
 3 = 0010
 4 = 0110
 5 = 0111
 6 = 0101
 7 = 0100
 8 = 1100
 9 = 1101
10 = 1111
11 = 1110
12 = 1010
13 = 1011
14 = 1001
15 = 1000

The primary use for this is the elimination of race conditions caused
by changing two bits at the same time.