
. (5.1)
Другими словами, значение каждого модуля на единицу меньше очередной степени 2. Такой выбор значения модуля

зачастую упрощает выполнение основных арифметических операций, так как выполнять вычисления с числами, представленными по модулю

, несколько проще, чем с числами, представленными в обратном коде. После того как значения модулей таким образом выбраны, полезно несколько ослабить условие

и потребовать чтобы только

,

. (5.2)
Таким образом, значение

принимается в качестве оптимального вместо

, поскольку это, с одной стороны, не влияет на справедливость китайской теоремы об остатках, а с другой означает, что

может быть любым

- битовым двоичным числом. При таком допущении, операции сложения и вычитания по модулю

выполняются следующим образом:

,

.
Здесь

и

указывают на действия, которые с учётом условия (5.2) должны быть выполнены с отдельными компонентами кортежей

и

при сложении или умножении соответственно. При вычитании можно пользоваться и соотношением:

.
Эти операции могут быть эффективно выполнены, даже если

больше машинного слова компьютера, так как совсем просто вычислить остаток положительного числа по модулю степени 2 или разложить число по степеням 2. Для работы с модулями вида

необходимо знать, при каких условиях число

является взаимно простым с числом

. Для этого существует простое правило:

. (5.3)
Формула (5.3) утверждает, в частности, что

.
Уравнение (5.3) следует из алгоритма Евклида и тождества

,
где mod означает операцию нахождения остатка от деления. Поэтому на компьютере с длиной слова 232 можно выбрать

,

,

,

,

,
что обеспечивает эффективность сложения, вычитания и умножения целых чисел в интервале вплоть до

.
Как мы уже заметили, операции преобразования чисел в СОК и обратно очень важны. Модулярное представление

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

с запоминанием остатков. В случае, когда

, возможно применение более подходящего способа, который состоит в том, чтобы, используя СОК, вычислить полином

.
Если основание b = 2 и модули

имеют вид

, оба подхода сводятся к совсем простому способу. Рассмотрим двоичные представления числа
А с блоками по

бит:

,
где

и

при

.
Тогда

,
Поскольку

. Поэтому

вычисляются путём сложения

битовых чисел

.
Обратный переход от СОК к позиционной системе счисления выполняется немного сложнее. Как мы видели при доказательстве китайской теоремы об остатках, при вычислении обратных мультипликативных элементов требуется уметь вычислять значение функции Эйлера, которое в общем случае требует факторизации, т. е. разложения чисел

на простые множители. Даже это обстоятельство показывает, что обратное преобразование чисел из СОК в позиционную систему счисления приводит к большому числу вычислительных операций с высокой точностью, а именно этого нам хотелось бы избежать прежде всего. Поэтому, чтобы найти действительно пригодный для практического применения метод перехода от

к
А, необходимо иметь другое доказательство китайской теоремы об остатках. Такое доказательство предложено в 1958 г. Х. Л. Гарнером. Оно основано на использовании

констант

, где

. (5.4)
Константы

можно вычислить с помощью расширенного алгоритма Евклида, который по заданным
i и
j позволяет определить числа
a и
b такие, что

, и можно положить

. В частности, для величины, обратной к

по модулю

, легко получить сравнительно простую формулу

, где

и

. Действительно, если

, то

. Поэтому при

имеем

; а так как эти последние величины расположены между нулём и

, должно быть

.
Тогда

Вернёмся к общему случаю. Так как

, удовлетворяют условиям (5.4), то можно выполнить присваивания

,

,

, (5.5)

.
Тогда число

(5.6)
будет удовлетворять условиям

,

для

. (5.5)