Алгоритмы перехода от позиционного представления к остаткам
Обычно исходные данные для вычислений представлены в каком-либо традиционном представлении, двоичном или десятичном. В таком же виде ожидаются результаты вычислений. Отсюда понятна необходимость перевода чисел из позиционного представления в представление СОК (прямое преобразование) и обратно (обратное преобразование).
Перевод числа в систему остаточных классов можно осуществить непосредственно методом деления с модулями СОК в качестве делителей. Однако из-за сложности операции деления техническая реализация такого метода неэффективна. Поэтому рассматриваются другие методы. Например, часто используется метод перевода числа из позиционной системы счисления в СОК, не содержащий операции деления, называемый методом непосредственного суммирования модульных значений разрядов позиционного числа.
В настоящее время широкое применение получили следующие три вида преобразования:
- метод понижения разрядности числа;
- метод на основе сети прямого распространения;
- метод непосредственного суммирования.
Основным достоинством системы остаточных классов является сравнительная простота выполнения модульных операций (сложения, вычитания, умножения). Кроме модульных операций в цифровых устройствах часто выполняются и такие операции, которые требуют знания числа в целом. Данные операции являются немодульными и относятся к классу позиционных операций, наиболее трудоемких в непозиционной системе класса вычетов.
Одной из основных немодульных процедур, необходимых для функционирования спецпроцессора класса вычетов, прямое преобразование позиционного кода в код СОК.