Цифровой метод контроля

 

При цифровом методе контроля контрольный код числа образуется делением суммы цифр числа на выбранный модуль:

или

Возможны два пути получения контрольного кода: 1)непосредственное деление суммы цифр на модуль р; 2) суммирование цифр по модулю р.

Второй путь проще реализуется, так как если аi < р , то контрольный код получается только операцией суммирования.

Однако при цифровом методе свойства сравнений не всегда справедливы, и происходит это из-за наличия переносов (заемов) при выполнении арифметических действий над числами. Поэтому нахождение контрольного кода результата операции происходит обязательно с коррекцией.

Пусть заданы числа А и В и соответственно их контрольные коды

; ; C = A + B.

Найдем контрольный код

Видимо, когда есть результат операции, тогда найти методом суммирования цифр по модулю не сложно. Какова будет возможность получения через контрольные коды слагаемых ?

Сумму цифр ci числа можно найти, зная цифры ai и bi и количество переносов в каждом разряде. Каждый перенос уносит из данного разряда q единиц и добавляет одну единицу в следующий разряд, т. е. сумма цифр уменьшится на величину q-1 на каждый перенос. Тогда

,

где l — количество переносов, возникших при сложении.

Так как ; , то .

Подставив эти значения в предыдущую формулу, получим

.

Аналогичными рассуждениями можно показать, что для разности чисел

С = А - В

где s - количество заемов при выполнении операции.