Система остаточных классов — различия между версиями
Turbo (обсуждение | вклад) |
Turbo (обсуждение | вклад) |
||
Строка 17: | Строка 17: | ||
СОК широко используется в микроэлектронике в специализированных устройствах [ЦОС], где требуется: | СОК широко используется в микроэлектронике в специализированных устройствах [ЦОС], где требуется: | ||
* контроль за ошибками, за счет введения дополнительных избыточных модулей | * контроль за ошибками, за счет введения дополнительных избыточных модулей | ||
− | * высокая скорость работы, которую обеспечивает параллельная реализация базовых операций | + | * высокая скорость работы, которую обеспечивает параллельная реализация базовых арифметических операций |
== Основные определения == | == Основные определения == |
Версия 13:03, 30 января 2013
Система остаточных классов (СОК) (от англ. Residue number system, другое название Модулярная арифметика) - непозиционная система счисления. Представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках. СОК определяется набором взаимно простых модулей с произведением
так, что каждому целому числу
из отрезка
ставится в соответствие набор вычетов
, где
-
-
- …
-
При этом китайская теорема об остатках гарантирует однозначность представления для чисел из отрезка .
Содержание
Преимущества системы остаточных классов
- В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в
.
Недостатки системы остаточных классов
- Возможность представления только ограниченного количества чисел.
- Отсутствие эффективных алгоритмов для сравнения чисел, представленных в СОК. Сравнение обычно осуществляется через перевод аргументов из СОК в смешанную систему счисления по основаниям
.
- Сложные реализации алгоритмов перевода из позиционной системы счисления в СОК и обратно.
Применение системы остаточных классов
СОК широко используется в микроэлектронике в специализированных устройствах [ЦОС], где требуется:
- контроль за ошибками, за счет введения дополнительных избыточных модулей
- высокая скорость работы, которую обеспечивает параллельная реализация базовых арифметических операций
Основные определения
Система остаточных классов используется для представления больших чисел , обеспечивая таким образом более эффективные вычисления. В основе данного представления лежит изоморфизм
, который доставляет китайская теорема об остатках.
Системой остаточных классов называют произвольное конечное множество , такое что
, где
. Пусть задана произвольная система остаточных классов
и положим, что
. Тогда в силу китайской теоремы об остатках имеем эпиморфизм колец
, т.ч.
, который индуцирует канонический изоморфизм
.
Выполнение арифметических операций
С использованием системы остаточных классов можно выполнять основные арифметические операции.
Сложение и вычитание
Пусть - произвольные натуральные числа. Положим, что
представляются в виде системы остаточных классов как
и
соответственно. Формально,
. В силу того, что
- изоморфизм будем иметь
. Обозначим через
остаток
от деления на
. Тогда
представляется в виде системы остаточных классов как
.
Умножение
- остаток от деления
на
. Тогда
представляется в виде системы остаточных классов как
.
Деление
Деление на
с использованием системы остаточных классов можно выполнять не всегда. Положим, что
- остаток
от деления на
. На языке теории колец это означает, что
обратим и
- обратный. Тогда
представляется в виде
.
Факторизация полупростых чисел
Пусть - полупростое число. Рассмотрим систему остаточных классов
, где
—
-е простое число.