Der Begriff "Gray-Code" bezieht sich auf eine binäre Folge codierter Zahlen, bei denen sich aufeinanderfolgende Terme nur durch eine einzelne Bitposition unterscheiden. Er wurde nach Frank Gray benannt, der den verwendeten binären reflektierten Gray-Code entwickelt hat um analoge Signale in binäre Stringzahlen umzuwandeln.
In einer gegebenen Folge von ganzen Zahlen von 0 bis 2^N - 1, ausgedrückt als binäre Zeichenfolge von N Länge, in der aufeinanderfolgende Terme um 1 Bitposition variieren, kann die Reihe von ganzen Zahlen durch Invertieren von jeweils einem Bit durchlaufen werden. Dies wird als "Adjazenzeigenschaft" eines Gray-Codes bezeichnet. Einige der praktischen Anwendungen eines Gray-Codes umfassen das Lösen des Turms von Hanoi und Baguenaudier.