Файл: Торгашев В.А. Система остаточных классов и надежность ЦВМ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.07.2024

Просмотров: 112

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

1.2. МОДУЛЬНЫЕ ОПЕРАЦИИ

Операция, выполняемая над группой чисел, называется модуль­ ной или непозиционной, если значение любого разряда результата зависит только от значений соответствующих разрядов исходных чисел. Модульными являются, например, операции логического сло­ жения, умножения, сравнения и сложения по модулю два, приме­ няемые в ЦВМ.

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

сомножителей,

в системе остаточных классов сложение,

вычитание

и умножение

(для целых чисел) выполняются отдельно по каждому

основанию и переносы между разрядами отсутствуют.

 

Следовательно, эти операции в системе остаточных классов яв­

ляются модульными.

 

 

 

 

 

 

Пусть

 

 

 

 

 

 

 

 

И }ж

= {“■’

с'2’1' •

ат)м'

{В)м = {ß" ß“’- • • ^т)м '

Тогда

 

 

 

 

 

 

 

 

 

 

 

u

x

ß L

=

c fi’ T.......’ v u -

(L 2>

где -л = \at ±

ß j

,

г =

1,

2, . . . , m.

 

I

X

I pt

 

 

 

 

 

 

Интересно, что если отрицательные числа в СОК определяются вы­ ражением (1.1), то формула (1.2) оказывается справедливой для чисел любого знака. Поскольку для сложения и вычитания чисел такое утверждение тривиально, рассмотрим лишь операцию умно­ жения.

Пусть один из сомножителей (А) отрицателен, а другой (В) — положителен. Тогда

{С}М -

- \ А I}М -{В)М - { В . М - I А \.В }М .

Но очевидно,

что

|/Ш |дг = 0. Поэтому {С},ц = — |А|-В}м.

Положим теперь, что оба сомножителя являются отрицательными;

~ { М * - М . \ А \ - М . \ В \ + \А 1 .\В \}м = {\А 1 - \В ]}м .

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

Равенство (1.2) справедливо лишь в том случае, если результат операции не выходит за пределы интервала определения.

Модульные операции и их результаты называются формальны­ ми, если при выполнении этих операций пренебрегают возможным выходом результата за пределы диапазона.

К модульным операциям можно отнести и деление целых чисел

без остатка;

 

. -

{С)м ~ {А )м І{В )м ~~

Тг.......Ѵ Ь

где

 

 

а:

1

 

Pi

ß; Pi

 

9



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

Величина

х = | l/ß^ |

является

решением сравнения х$і =

= 1 mod. pi и

однозначно

определена,

если ß; и Рі взаимно про­

стые числа.

 

 

 

Пусть для какого-либо модуля Рі остаток ß,- равен нулю. Это означает, что р; является делителем числа В. Но поскольку число А по условию делится на В без остатка, то основание pt должно быть также делителем А. Следовательно, а,- = 0 и соответствующая циф­ ра частного является неопределенной:

 

(1.3)

Однако раз число

В делится на рі,

то это число заведомо не мо­

жет быть меньше,

чем p lt и поэтому

С = (A/В) <(Л4/р/).

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

сокращенной СОК

(методы

такого

расширения

будут рассмотрены

в § 1.4).

 

 

 

 

 

 

 

оста­

Если ßi и рі имеют наибольший общий делитель di, то

ток Оі также должен делиться на di. Тогда

 

 

 

“ і

 

<4,

di

- b

i i ^

 

(1.4)

 

ßi

Рі

di

ßi Pi

 

di

 

 

Величина

=

0,

1, 2, ..., d i — 1

однозначно определяется осталь­

ными цифрами

частного, поскольку

С ^

(Л/d,)

< (Midi).

 

Проиллюстрируем вышесказанное примерами.

чисел

Пример 1.2. Определим

сумму,

разность и

произведение

А = 3 и В = 5, представленных в системе остаточных классов с осно­ ваниями рI = 4 , Рі = 5, рз = 6, и, кроме того, вычислим частные от деления произведения этих чисел на каждый из сомножителей:

{ А ) м

-

W M -

{3* 3-

3)оо= W

M = {5}д, = {!■ 0. 5W

ІС*}М = И

+

Щ м -

{I'3 +

1 1- I ■3 +

0 1«;

13 + 5 |.}и =

{0,

3, 2}60;

і С*)м = И

~

в )м =

{!3 — 1 U; 13 — 0 I.;

I 3 — 5 16}60-

{2,

3, 4}s0;

{С« } л .- { Л - Я } л і- { І 3-іи;

13-01.; I 3-5

0, 3}oo;

{C* U

 

 

3 I

 

 

Обратные величины ] 1/ßj

найдем из приложения. Поскольку

'Pi

 

 

10


C4< ( C 3/5)< (L ,/5) = 6, т о остатки по основаниям р , и рг одно­ значно определяют частное и, следовательно, неопределенную циф-

ру по основанию р2. °

= 3 .

О

б

Таким образом

 

{с * и

= И }ж = {3- з. з}і6о'

3

= J 1 1 + £з-2 Is-

3

Поскольку Cs < (Lj/3) =

10, остатки по основаниям 4 и 5 позволя­

ют однозначно определить величину | 3 (в данном примере они одно­ значно определяют всю цифру ] 3/316) | 3= 2.

Итак, {С6}дг = {0}м = {I, 0, 5}ео.

Ниже будут приведены способы вычисления неопределенной цифры частного по значениям других остатков.

1.3. ОПРЕДЕЛЕНИЕ ПОЗИЦИОННЫХ ХАРАКТЕРИСТИК ЧИСЕЛ, ПРЕДСТАВЛЕННЫХ В СОК

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

Рассмотрим

произвольную

позиционную

систему

счисления

с основаниями р 1.......рт і произведение

которых равно

М '. Пред­

положим,

что (^М'Ipmi) <С Al ^

М'. Тогда любое число из диапазо­

на [0,

АІ]

можно однозначно

представить в

данной

позиционной

системе

счисления *:

т,

i - i

 

 

 

 

 

 

 

 

 

 

 

 

 

Л =

 

П

/ j .

 

(1.5)

 

 

 

г=х

J= 1

 

 

 

где я,- =

0,

1, ...,

р\ — 1; і = 1,

2,... , mx.

 

 

* Такие системы счисления обычно называются обобщенными позиционными системами (ОПС), полиадическими или же системами счисления со смешанными основаниями (ССО). Обычную пози­ ционную систему с основанием р можно рассматривать как частный случай ОПС, у которой все основания равны р.

11


Под

позиционной

характеристикой числа

обычно

понимают

такую

функцию я(/1), которая зависит

лишь от

символов

а,-, Я;+і,

am, соответствующих старшим разрядам числа. В боль­

шинстве случаев для

выполнения различных немодульных

операции

в ЦВМ достаточно знать позиционную характеристику числа, соот­ ветствующую лишь его старшему разряду, т. е. тЦЛ) = f (аШі).

Обозначим произведение оснований р ѵ . . р 1 ѵ соответствую­

щих разрядам, не участвующим в определении позиционной ха­ рактеристики числа -.(/1), через К. Тогда

(Л) = /

А '

( 1 . 6)

/С.

 

Для чисел, представленных в СОК с основаниями рі, .... pm и общим основанием М, позиционная характеристика Як(Л) являет­

ся функцией от m переменных: я а- (Д) = Яа (<Хі, ..., a m).

боль­

Область определения функции Яа і,

ctm)

значительно

ше (в К раз) области ее изменения. Поэтому,

естественно,

возни­

кает вопрос, нельзя ли при вычислении позиционной характеристики использовать не все, а лишь н е к о т о р ы е из остатков аі, ..., am; либо за счет преобразования этих остатков уменьшить область опре­ деления Як? Однако приводимая ниже теорема 1.1 (являющаяся модификацией теоремы кодирования Сабо [21]) показывает, что практически любые независимые преобразования отдельных перемен­ ных сц, ..., <х,п, в результате которых можно было бы уменьшить область определения позиционной характеристики, приводят к нару­ шениям однозначного соответствия между функциями [A/К] и ха­ рактеристиками Яа 04). Как будет показано ниже, если определе­ ние указанных характеристик осуществляется при помощи произ­

вольных функциональных

преобразователей от

одной

или

двух

переменных (переменными

являются исходные

остатки

а .......

а т ,

а также выходные функции преобразователей), то число последо­ вательных преобразований, необходимых для вычисления Яя(Л), пропорционально числу оснований СОК. Более того, любые методы определения позиционных характеристик, при которых не нарушает­ ся однозначность Яя(Л), сводятся к переводу чисел из СОК в ОПС.

Докажем небольшую лемму.

 

 

 

Лемма 1.1.

(di,

...,

а т }.лг, представленного

Для

любого целого числа А =

в СОК

с основаниями р\, ..., рт , и

для

любой пары оснований рі

и pj должно выполняться условие:

 

 

 

 

И — а}\ач *=°.

О -7)

где dij наибольший общий делитель для оснований рі и pj.

Доказательство. Любое число А можно выразить при помощи следующих равенств:

А = kipi-\- ai = kj pj + a-j.

Определим остаток от деления числа А на модуль rf/y, учитывая, что \Pi\dl j =‘ \P )\dl) = ° -

Тогда \ А \ а = \a.i\dij = \ aj \d u или l “i — aj\d lj ==0’ что

и требовалось доказать.

12

I