8.2. Определение AN-кода
AN-код представляет собой отображение целых чисел
в целые числа
где А — некоторое фиксированное для каждого кода целое положительное число, называемое порождающим числом. Числа
называют кодовыми числами, а их представления в системе счисления по основанию
кодовыми словами. В этой главе рассматривается случай двоичной системы счисления, когда
хотя многие результаты легко обобщаются и на случай произвольного
Очень важным свойством
-кодов является то, что сумма кодовых чисел также является кодовым числом, а именно для любых двух целых чисел
Следовательно, если
то число
также является одним из кодовых чисел. Поэтому, если закодированные числа сложить с помощью обычного сумматора, то полученная в результате сумма будет кодовым числом суммы исходных чисел. Благодаря этому AN-коды могут обнаруживать и исправлять ошибки, возникающие в сумматорах.
Если
является делителем
т. е. если
является делителем каждого кодового числа
то в представлении чисел по основанию
самый младший разряд всегда будет равен 0. Далее, если
не являются взаимно простыми, то в младших разрядах, начиная с некоторого, будут появляться только определенные символы, тогда как другие цифры никогда не появятся. Поскольку это нежелательно, будем предполагать, что
взаимно просты. В случае
это означает, что число
должно быть нечетно.
-коды с
называются двоичными
-кодами.
Пример
-код с параметрами
т. е. двоичный
приведен в табл. 8.8.
Таблица 8.8 (см. скан) Двоичный
-код
Например, сумме
соответствуют следующие суммы кодовых чисел и кодовых слов этого кода:
Если при переносе 1 из разряда 23 в разряд 24 происходит ошибка, в результате которой эта единица переноса превращается в 0, то результатом вычисления будет число
(нижний индекс показывает основание системы счисления). Остаток от деления этого числа на 13 равен 10, а это означает, что полученная сумма не является кодовым числом
-кода. Следовательно, возникшая ошибка будет всегда обнаружена. В действительности, как мы покажем ниже, эта ошибка может быть и исправлена (см. пример 8.6).
Так как максимальное кодовое число равно
то для представления чисел
в двоичной системе счисления требуется
двоичных символов, причем
т. е.
(Здесь
наибольшее целое число, не превосходящее х, или, другими словами, целая часть
Это число
называют длиной двоичного
-кода. Для представления исходных некодированных чисел
в двоичной системе счисления
достаточно иметь
двоичных знаков. Таким образом, разность
представляет собой число избыточных двоичных символов, необходимых для того, чтобы множество целых чисел
можно было представить с помощью
-кода. Из формул
получаем
Следовательно, величина
является мерой избыточности
-кода.
Пример 8.2. Избыточность
-кода равна
Например, для представления целых чисел от 0 до
включительно в двоичной системе счисления необходимо 9 разрядов, а для их представления в виде кодовых слов
-кода требуется уже 14 двоичных символов. Следовательно, фактически необходимая избыточность равна пяти двоичным символам.
Избыточность
-кода равна
Если этот код используется для представления десятичных цифр
то избыточность этого кода будет равна 1, поскольку в данном случае длина кода равна 5, а минимальное число двоичных символов, необходимых для представления тех же цифр в двоичной системе счисления, равно 4.