Gray code

(redirected from Gray codes)
Also found in: Dictionary.

Gray code

[′grā ‚kōd]
A modified binary code in which sequential numbers are represented by expressions that differ only in one bit, to minimize errors. Also known as reflective binary code.

Gray code

A binary sequence with the property that only one bit changes between any two consecutive elements (the two codes have a Hamming distance of one).

The Gray code originated when digital logic circuits were built from vacuum tubes and electromechanical relays. Counters generated tremendous power demands and noise spikes when many bits changed at once. E.g. when incrementing a register containing 11111111, the back-EMF from the relays' collapsing magnetic fields required copious noise suppression. Using Gray code counters, any increment or decrement changed only one bit, regardless of the size of the number.

Gray code can also be used to convert the angular position of a disk to digital form. A radial line of sensors reads the code off the surface of the disk and if the disk is half-way between two positions each sensor might read its bit from both positions at once but since only one bit differs between the two, the value read is guaranteed to be one of the two valid values rather than some third (invalid) combination (a glitch).

One possible algorithm for generating a Gray code sequence is to toggle the lowest numbered bit that results in a new code each time. Here is a four bit Gray code sequence generated in this way:

0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0

The codes were patented in 1953 by Frank Gray, a Bell Labs researcher.

Gray code

A binary code used to represent digits generated from a mechanical sensor that may be prone to error. Used in telegraphy in the late 1800s, and also known as "reflected binary code," Gray code was patented by Bell Labs researcher Frank Gray in 1947.

Only Change One Bit
In Gray code, there is only one bit location different between numeric increments, which makes mechanical transitions from one digit to the next less error prone. The following chart shows normal binary representations from 1 to 10 and the corresponding Gray code.
Decimal  Binary   Gray Digit Code     Code

       0     0000     0000
       1     0001     0001
       2     0010     0011
       3     0011     0010
       4     0100     0110
       5     0101     0111
       6     0110     0101
       7     0111     0100
       8     1000     1100
       9     1001     1101
      10     1010     1111
References in periodicals archive ?
This paper takes an altogether different approach and describes a visually satisfying geometrical technique to generate Gray codes.
Table 1 gives a Maple procedure and program to generate Gray codes using the [[C.
One application of the Gray codes generated in this paper is in producing Graeco-latin squares (any square of ordered pairs in which each entry of the alphabet appears exactly once as a left-hand entry in every row and every column and similarly for right hand entries) and balanced factorial groups in the design of experiments.