Wspomniałeś, że widzisz, że wartość zmienia się o 1. Załóżmy na razie, że wynika to z fizycznych ograniczeń pomiaru.
W przypadku kodu binarnego w niektórych sytuacjach możesz mieć pecha. Powiedzmy, że jesteś zatrzymany prawie dokładnie na przejściu między wartościami 15 i 16 (binarnie, 01111 i 10000). Więc to jest przełączanie między dwiema wartościami. Jednak wszystkie bity nie mogą przełączać się dokładnie w tym samym czasie z wielu powodów (mechanicznych / optycznych / elektrycznych). Czas, w którym przełączają się, może być bardzo bliski, ale czasami następny obwód otrzyma wartość z tylko niektórymi bitami z każdej wartości. To tak, jakby losowo wybierać wartość bitową dla każdego bitu . Na przykład może odczytać 01001 lub wartość 9. To nawet nie jest bliskie pożądanym wartościom 15 lub 16.
Z drugiej strony, używając kodu Graya, tylko jeden bit zmieni się między 15 a 16. Nie wiem od razu, jakie by one były, ale dla przykładu weźmy dwie wartości zakodowane Grayem na 01011 (15) i 11011 (16). Teraz dla każdego bitu wybierz losowo jedną z dwóch opcji, a zobaczysz, że jedyne możliwości to dwie pożądane wartości.