
Коды Грея
Часто бывает необходимым, чтобы лексикографически (т.е. по алфавиту или по возрастанию) упорядоченные символы при двоичном кодировании различались минимальным количеством разрядов. Коды, удовлетворяющие этому условию, называются кодами Грея или одношаговыми кодами. В таблице приведены значения кода Грея для десятичных цифр (для сравнения также указан их прямой код, значения которого тоже упорядочены)
-
A10
Прямой двоичный код
Код Грея
0
0000
0000
1
0001
0001
2
0010
0011
3
0011
0010
4
0100
0110
5
0101
0111
6
0110
0101
7
0111
0100
8
1000
1100
9
1001
1101
-
00
01
11
10
00
0
1
2
3
01
7
6
5
4
11
8
9
10
11
10
15
14
13
12
Код Грея = код строки2, код столбца2
Пример.
8 -> 1100
9 -> 11 01
10-> 11 11
Правило: обычный двоичный код преобразуется в код Грея путем суммирования по модулю 2 данной комбинации с такой же, но сдвинутой вправо на один разряд. Младший разряд второго слагаемого отбрасывается
Пример. Построить код Грея для алфавита, который используется при записи фамилии "Шеннон". При этом не различать строчные и прописные буквы.
Сформирует исходный алфавит, для которого будем строить код {е, н, о, ш}. Символы в множестве упорядочены по алфавиту
Коды Грея: е – 001, н – 011, о – 010, ш - 110
Двоично – десятичный код
Каждый разряд десятичного кода записывается в виде двоичных четырехразрядных комбинаций. Различают версии этого кода с весами 8.4.2.1, 2.4.2.1 и т.д.
Код
Айкена
x10 |
Код 8.4.2.1 |
Код Айкена 2.4.2.1 |
||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
5 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
7 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
9 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Замена всех 4-х разрядов кода с 0 на 1 (или наоборот) приводит к дополнению до 9