- непривычность представления двоичных чисел (отличного от десятичных);
- громоздкая (неэкономичная) структура сигналов (чисел).
Для более компактной формы представления используют как вспомогательные (чаще всего при программировании) восьмеричный и шестнадцатеричный позиционные коды, составляемые по общей модели или по предварительно найденному двоичному коду числа.
· Восьмеричный код. Алфавит символов включает восемь десятичных цифр. Перевод двоичного кода в восьмеричный сводится к разбивке его на группы из 3 символов (триады), начиная справа, и замене полученных триад десятичными эквивалентами двоичного кода, например,
4610 = 101 1102 = 5×81 + 6×80 = 568.
· Шестнадцатеричный код. Алфавит состоит из 16 символов – 10 цифр и 6 латинских букв. При переводе двоичный код разбивают на
группы по 4 символа (тетрады), заменяемые десятичными эквивалентами – цифрами или буквами.
· Двоично-десятичный код (ДДК). Совмещает пре-имущества двоичной с удобством десятичной систем счисления. Модель его – составная двоично-десятичная система счисления. Основание ДДК – g=10, а коэффициенты ai записывают двоичными тетрадами. Наиболее часто применяют взвешенный ДДК с весами тетрад 8-4-2-1 (как у НДК):
|
|
Пример ДДК – 8-4-2-1 4610 = 4 × 101 + 6 × 100 = 0100 0110ДДК
Из 16 различных комбинаций каждой тетрады в ДДК можно оставить, в принципе, любые 10. В отдельных случаях оказывается целесообразным использовать ДД коды с весами 2-4-2-1 (см. табл.), а также 5-1-2-1 и 3-3-2-1 с суммой весов разрядов тетрады 9.
Пример ДДК – 2 -4-2-1 4610 = 4 × 101 + 6 × 100 = 0100 11002
Особенность кода 2-4-2-1 (код Айкена) состоит в инвертировании разрядов тетрад кода, симметричных в пределах определённых фрагмен-
тов списка для каждой из разрядных тетрад (см, в пределах первых 10 строк таблицы выделенные тетрады младшего разряда, взаимоинверсные относительно средней красной линии фрагмента). Преимущество такого кода 2-4-2-1 перед 8-4-2-1 заключается в самодополняемости кодов симметричных тетрад до некоторого постоянного числа – выделенные в таблице инвертированные тетрады дополняют исходные до 9 (например, 00102=210 и 11012=2+4+1=710). Такая дополнительная упорядоченность кодовых комбинаций помогает в решении некоторых задач.
Повторяемость весов разрядов тетрады в кодах 2-4-2-1, 5-1-2-1 и 3-3-2-1 приводит к неодозначности кодирования десятичных цифр и нарушению самодополняемости. Поэтому надо выбирать правильные взаимно инвертирующиеся комбинации симметричных пар.
· К числовым кодам относится рефлексный код или код Грея, построенный по отраженной (рефлексной) системе счисления.
Отличительная особенность по сравнению с НДК - при переходе от любого кодового слова к соседнему происходит изменение только одного символа (см. табл.).
|
|
Составить такой набор кодовых слов можно с помощью карты Карно, разместив в ней НДК так, чтобы в любой паре соседних клеток комбинации отличались только одним разрядом. Варьируя пути обхода клеток карты Карно, можно получить множество комплектов кода с соседними комбинациями, отличающимися только одним разрядом. Но лишь по пути, указанному стрелками, составляется комплект комбинаций кода Грея, соответствующий рефлексной системе счисления. Это свидетельствует, что состав кода Грея одинаков с НДК, но комбинации его размещаются по номерам позиций отлично от НДК, причём единственным способом. А это возможно, если код Грея также взвешенный и десятичный эквивалент его комбинаций определяется суммой весов единиц.
· В отличие от НДК и других числовых кодов в коде Грея веса единиц определяются не двоичным весом конкретного разряда, а по формуле
qi = =2i – 1,
учитывающей, что вес каждой единицы равен сумме весов данного i -го разряда и всех предыдущих (j-тых). Десятичный эквивалент (вес) комбинаций кода Грея также определяется суммой весов единиц, но, в отличие от других взвешенных кодов, все чётные единицы, отсчитываемые слева, имеют отрицательный вес. Поэтому десятичный эквивалент n -разрядной кодовой комбинации в коде Грея находится как
M = = ,
где k - порядковый номер единицы, отсчитываемый от старшего разряда слева направо;
ai и qi - коэффициент и вес i -го разряда, соответствующего k -той единице.
Так вес кодовой комбинации 1101
М =(–1)1+1(24–1) + (–1)2+1(23–1) + (–1)3+1(2–1) = (24–1)–(23–1)+(2–1) = 15 – 7 + 1 = 9.