What Is a Gray Code?

The term "Gray code" refers to a binary progression of coded numbers where successive terms only differ by a single bit position. It was named after Frank Gray, who devised the binary reflected Gray code used to convert analog signals into binary string numbers.

In a given sequence of integers from 0 to 2^N - 1, expressed as a binary string of N length where consecutive terms vary by 1 bit position, the series of integers can be traversed by inverting one bit at a time. This is referred to as the "adjacency property" of a Gray code. Some of the practical applications of a Gray code include solving the tower of Hanoi and baguenaudier.