Отраженный двоичный код ( RBC ), также известный как отраженный двоичный код ( RB ) или код Грея в честь Фрэнка Грея , представляет собой порядок двоичной системы счисления , при котором два последовательных значения отличаются только одним битом (двоичной цифрой).
Например, представление десятичного значения «1» в двоичном формате обычно будет « 001 », а «2» будет « 010 ». В коде Грея эти значения представлены как « 001 » и « 011 ». Таким образом, для увеличения значения с 1 до 2 требуется изменить только один бит вместо двух.
Коды Грея широко используются для предотвращения ложного вывода электромеханических переключателей и для облегчения исправления ошибок в цифровой связи, такой как цифровое наземное телевидение и некоторые системы кабельного телевидения .
Многие устройства указывают положение замыканием и размыканием переключателей. Если это устройство использует естественные двоичные коды , позиции 3 и 4 находятся рядом друг с другом, но все три бита двоичного представления различаются:
Проблема с естественными двоичными кодами заключается в том, что физические переключатели не идеальны: очень маловероятно, что физические переключатели будут изменять состояния точно синхронно. При переходе между двумя показанными выше состояниями все три переключателя изменяют свое состояние. В течение короткого периода, пока все меняется, переключатели будут показывать какое-то ложное положение. Даже без keybounce переход может выглядеть как 011 — 001 — 101 — 100 . Когда кажется, что переключатели находятся в положении 001 , наблюдатель не может сказать, является ли это «настоящим» положением 1 или переходным состоянием между двумя другими положениями. Если вывод подается в последовательную систему, возможно, черезкомбинационная логика , то последовательная система может сохранить ложное значение.
Эта проблема может быть решена путем изменения только одного переключателя за раз, так что никогда не будет никакой неоднозначности положения, в результате чего коды присваивают каждому из непрерывного набора целых чисел или каждому элементу кругового списка слово символов, такое как что нет двух одинаковых кодовых слов и каждые два соседних кодовых слова отличаются ровно на один символ. Эти коды также известны как коды с единичным расстоянием , [3] [4] [5] [6] [ 7] однодистанционные , одношаговые , монострофические [8] [9] [6] [7] или синкопические коды , [8] относительно расстояния Хэмминга1 между соседними кодами.