Представление числа в системе остаточных классов — различия между версиями
Isaeva (обсуждение | вклад) (Новая страница: «Представление чисел в виде набора остатков от деления на выбранные натуральные модули - …») |
Isaeva (обсуждение | вклад) |
||
Строка 43: | Строка 43: | ||
<math>0\le A<P</math>, <math>0\le B<P</math>, <math>0\le A+B<P</math>, <math>0\le A\cdot B<P</math>. | <math>0\le A<P</math>, <math>0\le B<P</math>, <math>0\le A+B<P</math>, <math>0\le A\cdot B<P</math>. | ||
+ | |||
+ | Эти выражения можно переписать в виде | ||
+ | |||
+ | <math>c_i=a_i+b_i\pmod{p_i}</math>; | ||
+ | <math>d_i=a_i\cdot b_i\pmod{p_i}</math>; | ||
+ | |||
+ | <math>c_i=a_i+b_i - [\frac{a_i+b_i}{p_i}]</math>; | ||
+ | <math>d_i=a_i\cdot b_i - [\frac{a_i\cdot b_i}{p_i}]</math>; | ||
+ | |||
+ | Справедливость этих правил выполнения арифметических действий в СОК непосредственно вытекает из свойств сравнения. |
Версия 12:33, 11 сентября 2014
Представление чисел в виде набора остатков от деления на выбранные натуральные модули - основания системы называется системой остаточных классов - СОК (residue number system - RNS) или модулярной системой счисления - МСС (modular system).
Такие системы счисления являются непозиционными кодами с параллельной структурой, которые позволяют реализовать идею распараллеливания операций на уровне выполнения элементарных арифметических действий.
Пусть заданы положительные числа , которые называют основаниями или модулями системы. Обозначим .
Эта величина характеризует объём диапазона системы. Под системой остаточных классов понимают такую непозиционную систему счисления, в которой целое неотрицательное число А можно представить в виде набора остатков от деления этого числа на выбранные основания системы, т. е. , где .
Возможность такого представления числа определяется теоремой о делении с остатком в кольце целых чисел. Напомним формулировку этой теоремы (в обозначениях этого раздела).
Теорема
Если , то существуют единственные , такие, что .
Несложно заметить, что каждый остаток получается независимо от других и содержит информацию обо всём числе.
Установить взаимно-однозначное соответствие между целыми числами из диапазона и их остатками позволяет китайская теорема об остатках.
Возможность применения СОК в вычислительных алгоритмах обуславливается наличием определённого изоморфизма между математическими операциями над целыми числами и соответствующими операциями над системой целых неотрицательных остатков по отдельным модулям. Причём сложение, умножение, возведение в целую положительную степень любых целых положительных чисел совершенно идентичны соответствующим операциям, выполняемым над системой остатков.
Пусть операнды и , а также результаты операций сложения и умножения и A\cdot B</math> представлены соответственно остатками
по основаниям , причём оба числа и результаты находятся в диапазоне , то есть
,
,
,
,
и
, , , .
Эти выражения можно переписать в виде
; ;
; ;
Справедливость этих правил выполнения арифметических действий в СОК непосредственно вытекает из свойств сравнения.