// Kod Graya – binarny system liczbowy, w którym kolejne wartości różnią się tylko jednym bitem
Między kolejnymi wartościami zmienia się tylko jeden bit.
Zmniejsza błędy podczas konwersji analogowo–cyfrowej.
Pierwsza i ostatnia wartość również różnią się tylko jednym bitem.
Kod Graya (odbity kod binarny) to system zapisu binarnego, w którym dwie kolejne wartości różnią się wyłącznie jednym bitem. Powstaje przez wykonanie operacji XOR pomiędzy każdym bitem a poprzednim. Ta cecha sprawia, że idealnie nadaje się do enkoderów położenia i redukcji błędów w systemach cyfrowych.
Dziesiętny | Binarny | Kod Graya 0 | 0000 | 0000 1 | 0001 | 0001 2 | 0010 | 0011 3 | 0011 | 0010 4 | 0100 | 0110 5 | 0101 | 0111 6 | 0110 | 0101 7 | 0111 | 0100 Uwaga: między kolejnymi kodami Graya zmienia się tylko 1 bit
Kod Graya, nazywany także odbitym kodem binarnym, to system kodowania, w którym dwie kolejne wartości różnią się tylko jednym bitem. Szeroko stosuje się go w systemach cyfrowych, aby uniknąć błędnych odczytów podczas przejść pomiędzy stanami.
Aby przekonwertować z binarnego na Gray: 1) zostaw najbardziej znaczący bit (MSB) bez zmian, 2) dla każdego kolejnego bitu wykonaj operację XOR z poprzednim bitem. Wzór: G[i] = B[i] XOR B[i-1]. Na przykład zapis binarny 1011 staje się kodem Graya 1110.
W zwykłym kodzie binarnym przy przejściu między wartościami może zmieniać się kilka bitów jednocześnie, co prowadzi do chwilowych, niepoprawnych stanów. Kod Graya gwarantuje zmianę tylko jednego bitu, dzięki czemu odczyty z enkoderów są mniej podatne na błędy.
Kod Graya jest używany w enkoderach obrotowych, przy upraszczaniu funkcji logicznych za pomocą map Karnaugha, w korekcji błędów w komunikacji cyfrowej, w algorytmach genetycznych oraz w przetwornikach analogowo–cyfrowych.