Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Торгашев В.А. Система остаточных классов и надежность ЦВМ

.pdf
Скачиваний:
6
Добавлен:
23.10.2023
Размер:
5.18 Mб
Скачать

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

В то же время практически любое изменение числа оснований

■СОК или их порядка при вычислении

(А) приводит к изменению

констант \ l j K j - i \ p , и K j - i и

соответственно функции

ЧГ' (а /-

Это существенно ограничивает

гибкость

вычислительной

машины,

работающей в СОК.

 

 

 

Если при вычислении позиционных характеристик используется не функциональное преобразование, а обычные модульные опера­ ции умножения (что позволяет уменьшить аппаратурные затраты), то, очевидно, характеристика */<(Л) требует меньшего объема вы­

числений по сравнению с кк (А).

Помимо рассмотренных выше точных способов вычисления пози­ ционных характеристик, известно большое число приближенных ме­ тодов .[3], некоторые из которых позволяют уменьшить число после­ довательно выполняемых модульных операций, необходимых для вычисления зхкт_і (Л), до величины ]log2/ti[*. Однако в этом слу­ чае резко возрастает требуемое количество аппаратуры, причем чаще всего эту аппаратуру приходится выделять в специальный блок. Пример организации такого блока приводится в работе [3]. Наличие подобной аппаратуры существенно ограничивает возможности ЦВМ, поскольку для защиты машины от ошибок данного блока приходится применять резервирование. Поэтому в настоящей работе, посвящен­ ной вопросам повышения надежности, а не быстродействия ЦВМ, приближенные методы вычисления позиционных характеристик не рассматриваются.

Приведем теперь несколько примеров, иллюстрирующих изло­ женный выше материал.

Пример 1.3. Определим позиционные характеристики числа ■Д={1, 0, 0, 2}jf, представленного в СОК с основаниями рі= 3, Р г= 4, Рз=5, Р4= 7, путем перевода этого числа в ОПС.

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

11/3 I* — 3; 11/3 Is =

2;

|1/3| 7 - 5 ; ! 1/4 |5 = 4;

11/41, =

2;

11/5 1, — 3.

* Под величиной ]х[ понимается ближайшее целое число, боль­ шее или равное х, т. е. дробное число х, округленное в большую сторону.

20

Далее воспользуемся формулами

(1.14):

 

 

 

Рі =

3.

4,

5,

7;

 

 

 

 

А =

{!■

0,

0,

2}420’

" і

= а ,

= 1

а, =

0 -

1 ,

1,

*}‘І20

 

 

 

 

X

{0,

3,

4,

41420

 

 

 

 

ѵ .=

 

{3-

2 ,

5}ио

 

 

 

 

 

0 -

3,

5}и0>

аг = ctg =

1.

аг =

 

0 -

1,

 

 

 

 

 

 

 

2,

 

 

 

 

 

X

{°.

4}но

 

 

 

 

V * -

 

{4-

2 } з 5,

 

 

 

о

М) -

 

{3,

^}з5>

 

аэ =

2

 

 

а3 =

3,

«3 =

 

 

I* 1

3}з5

 

 

 

 

X

 

{0,

^)з5

 

 

 

 

Ѵ .=

 

 

 

{3Ь

 

 

 

 

Используя формулу

 

 

0І7 .

найти

«4 =

“4 =

1

(1.10), можно

представление числа

А в десятичной

системе

счисления: А = 1+ 1-3+3-12+1 • 60= 100.

Пусть числа

из диапазона

[0,240]

являются положительными, а

из диапазона [240, 420] — отрицательными. Тогда знак числа А мож­ но определить по старшему разряду двоичного представления вели­

чины Лкз(А) = а 4.

Определить позиционные

характеристики

числа

Л=

Пример

1.4.

{1, 4, 0, 30} м,

представленного в СОКН

с основаниями

Р\ =3,.

р2=

12, рз=20, Р4=35 и общим основанием М — [3, 12, 35, 20] =420.

 

Найдем сначала основания МОПС в соответствии с формулой

(1.15): Рі=3;

р2 —А\ р3—5; р4= 7.

Переведем

число А в

СОК

с ос­

нованиями

р1,

р2 ,

Рз, РТ

основания

полученной

СОК

явля­

 

Л = {1,

0, 0, 2}м. Поскольку

ются взаимно простыми, то дальше определение позиционных харак­ теристик числа А осуществляется так же, как и в предыдущем примере.

1.4. РАСШИРЕНИЕ СИСТЕМЫ ОСНОВАНИИ

При вычислениях в системе остаточных' классов довольно часто складывается такая ситуация, когда остатки, соответствующие неко­ торым основаниям СОК, становятся неопределенными. Однако ос­ тальные остатки однозначно определяют число. С таким положениеммы уже сталкивались в § 1.2 при модульном делении чисел, пред­

21

ставленных в СОК и в § 1.3 при вычислении позиционных' характе­ ристик n Kj(A). Поэтому одной из основных немодульных операций

в системе остаточных классов является р а с ш и р е н и е с и с т е м ы 0 с н о в а н и и, когда по известным остаткам числа А, соответствую­ щим некоторым модулям СОК, определяют значения остатков этого же числа для других оснований.

Пусть число А однозначно представлено в СОК с основаниями

Р\.............. рп и общим основанием N:

 

 

 

 

 

 

 

 

А =

{ап- • •>

П;і}д,-

 

 

 

Требуется

представить это число

в

системе

остаточных классов

с основаниями

р\........ рп, Рп + \.......... Рт, т. е. необходимо

определить

остатки а п + і,

а,„.

формулами

(1.10)

и

(1.12),

представим

Воспользовавшись

число А в следующей форме:

 

 

 

 

 

 

 

 

Л - *? + « £ * ,+ . . . а 'Г Х - -

 

 

Тогда

ап+і— I Л іРп+І= I ° і

+

+

•••+

ап

 

рп+1<

где і=

1, 2, . .. , т п.

а°ѵ

....... а"-1

 

 

 

 

Поскольку

остатки

вычисляются последователь­

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

где а1п + . = а,; г = 1, 2,..., т п; j

= 2, 3,..., л;

О -24)

+

\Pn+t.

 

 

 

ап+і=

ап+1-

 

 

 

 

Данный способ

расширения

системы

основании удобен

тем,

что не налагает

никаких

ограничений

на

значения

модулей

р п+і.......рт. К недостаткам

же следует отнести, во-первых, то, что

остатки аІ при I > л и г <

я

вычисляются по различным формулам ■

а во-вторых, использование

в формуле (1.24)

констант

К],

вели­

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

ного расположения.

 

расширения системы оснований.

Рассмотрим еще один способ

Обозначим

разность

между числом оснований

в

расширенной

и исходной

СОК через г, а наименьшее общее кратное модулей

Рп+і....... рт — через

R. Далее

определим число

А

такое, что

1А |;ѵ = А; IА I/? = 0.

 

 

 

 

Тогда

 

 

 

 

 

Следовательно:

 

 

 

< І' 25)

 

 

=

* * # > } * •

 

0.26)

22

Используя рекуррентную формулу (1.13) для вычисления *лг(2 ), получим выражения, определяющие любой из остатков ап+і при і = 1, 2, ..., г:

Ді+1

■ £ і -

Pj

J - 1

 

(1.27)

 

рп+ i

 

an+i

|(

N) *n+llpn+i>

 

 

где a°+i = 0; y '= 1,

2, ...,

n.

 

 

 

 

Если основания

P\, .. . ,

p n

не

являются взаимно

простыми, то

в формуле (1.27) вместо pj

следует использовать р

но

применять

Этот способ значительно удобнее предыдущего,

его можно лишь в том случае, если N и R не имеют общих делителем.

При помощи рассмотренных выше трех модульных

операций

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

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

пространяются и на СОКН

при

замене

модулей

рі

на

р,_, где

і '=

1,

2, ... ,

гп.

 

 

 

 

 

 

 

 

 

Рассмотрим теперь примеры

расширения

системы

оснований.

С.!

Пример

1.5.

Вычислим

неопределенные

цифры

частных

и

С5 для

примера 1.2, приведенного в

§1.2. Каждое

из

этих ча­

стных

должно быть представлено

в СОКН с основаниями

4, 5 и 6

и общим основанием 44=60. Для

частного С4 не определена цифра,

соответствующая модулю 5. Поэтому положим N — [4, 6] =

12; Я = 5;

Рі = 4; Р2= 6; р3= 5 .

 

 

 

 

 

 

 

 

Поскольку N

и R взаимно просты, для определения

величины

1з = | С4|б воспользуемся формулами (1.27). Модули

р, =

4 и р 2= 6,

входящие в состав СОК с общим основанием N, не являются

взаимно простыми.

Поэтому

определим

р х = 4; р г = 3. Из прило­

жения найдем обратные мультипликативные величины;

I ѵ*|. = 1; 1'M s = 4; I V. la =-2.

Далее по формулам (1.14) и (1.27) вычислим

сс° = а, = 3; а“ = 0; а° = | 3 |, = 0;

= К — 3) -1 |з --= 0;

Рі

23

 

I

Pi

( —•3)6- 4 |s =

3;

a| =

1(3 — 0)•2[6=

1;

 

р 1

 

 

 

 

 

 

 

 

 

 

 

 

 

-WІб =

I

12 J

= 3;

T. — I 3-11, — 3.

 

Итак, {Ci}M = {3, 3,3}co.

 

 

 

 

 

 

 

 

 

 

 

Для частного Cs не

определена

цифра по

модулю р = 3. По­

этому положим

рі =

4;

р3 — 5;

N = 20; р3 =

R = 6. Поскольку N

и R имеют общин делитель, то для

определения величины if, =

=

I С516 воспользуемся

формулами

(1.14) и

(1.24);

 

 

“1 =

7

“° =

0;

а° =

0;

« '=

| М / 4 |6= 4

 

 

“з =

2

“1 =

(“з +

2^1 I/Jа =

П +

 

4-4 |0=

 

 

 

= 5.

 

 

 

 

 

 

 

 

 

 

 

Тз — “з

 

 

 

 

 

 

 

 

 

 

Итак, {С,}Л -{ 1 ,0 ,5 } ,0.

 

 

 

 

 

 

 

 

 

 

 

Пример 1.6. Пусть

число А — {1, 0, 0,

 

 

представлено

в СОК

с

основаниями р, = 3, р2 =

4,

р 3=

5 и р4=

7.

 

(Д) в

той же

 

Представим

позиционную

 

характеристику

системе остаточных классов. Для этого сначала изменим индексы

оснований

СОК, положив р, = 5, ра = 7, р, = 3,

р4 ■==4, N — 5-7 =

=35

и R =

3 - 4 = 12.

 

 

 

 

 

 

В примере 1.3 была вычислена позиционная характеристика

представленная в СОК с общим основанием N :

 

(Л) = {3,1 }35.

 

 

Из приложения найдем:

 

 

 

 

 

I7sl,

=

3;

I ' M , =

2; | ‘М , = 1;

| Ѵт [, — I;

| ' / 7 | * - 3 .

 

 

Далее

по

формулам

(1.14) и (1.27)

определим а° = 3; а2 =

1;

“з =

0; “з =

2;

| ( - Л 0 «ЦЛ - 2; « J - 1; ^ =

0;

| ( - Ю « ||Л -

0.

Следовательно, {яд-з (Д)}^ = {2,0}12. Переходя снова к исходной

СОК, получим {**, (Д)}л, = {2, 0,3, 1}42„.

Данный результат легко

проверить, если вспомнить, что Д =

- = 100 и, следовательно,

(Д) = [100/12] = 8.

1.5. УМНОЖЕНИЕ ДРОБНЫХ ЧИСЕЛ

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

В §

1.1 рассматривались

некоторые способы представления

дробей

в системе остаточных

классов и, в частности, способ пред­

ставления

дробных чисел с

фиксированным знаменателем IV;

Щ м = т

-

 

24

Для того чтобы эти дроби были правильными при любом А должно выполняться условие: | Д | < N. Если числители А могут изменяться в интервале ( — Lu І 2), то условие правильности дроби примет вид: N шах (£„ А2).

Чаще всего диапазоны изменения положительных и отрицатель­ ных чисел, представленных в ЦВМ, принимаются одинаковыми. По­ этому примем N = L ^ = L 2.

Но для однозначного представления числителя А в СОК интер­

вал L = Li-j-L2 не должен превышать общее основание AI.

Поэтому

М > 2М.

(1.28)

Рассмотрим произведение двух дробей AjN и B/N, пусть А и В положительны:

C_j _ A _ J 3 ____ 1 ( Л В \ N = N N - N \ N .)■

Очевидно, что С должно быть целым положительным числом. Поэто­ му в тех случаях, когда произведение AB не кратно N, примем:

 

С =

[AB/N] = кд, (AB).

 

(1.29)

Если для вычисления позиционных характеристик используется

один из способов, рассмотренных в §

1.3, то в качестве знаменате­

ля /V следует принять

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

некоторых

модулей

задан­

ной СОК.

N = pI ...

рп. Тогда для выполнения неравенства

(1.28)

Пусть

достаточно

положить

pn+ i= Pm= 2, если ни один

из остальных мо­

дулей СОК не является четным. В этом случае каждому числу, пред­ ставленному в СОК, соответствует некоторая правильная дробь. Если же использовать больший по величине модуль рп+1 (или в об­ щем случае группу модулей р„ +1, .. . , рт), то среди чисел, пред­ ставленных в СОК, окажутся и неправильные дроби с ненулевыми целыми частями. За счет увеличения М при постоянном N появляет­ ся возможность легко обнаруживать переполнения при сложениях и вычитаниях, корректировать ошибки округления для некоторых способов умножения дробей и, как будет показано в гл. 2, обнару­ живать и исправлять ошибки, возникающие в ходе вычислений.

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

Если заданы два положительных числа {А}.^ и то их

произведение в соответствии с формулой (1.29) запишется в сле­ дующей форме:

= {"* ІАЩ%-

25

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

определить произведение числителей AB.

Поскольку

A < N и B<_N,

то это произведение можно получить,

используя

одну модульную

операцию умножения при условии, что M~>N2.

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

Первый метод, предложенный А. Свободой [20], заключается в том, что исходная СОК с основанием М расширяется путем добав­

ления

модулей

................ Рт+(,

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

которых

равно

R', так, чтобы общее основание M’= M R '

полученной СОК было ие

менее чем N2.

 

 

 

 

 

 

 

 

 

Расширение системы основании

выполняется

для

обоих сомно­

жителей. Далее

вычисляется произведение {АВ}М и позиционная

характеристика

{пЛ, (ЛД)}уИ,/;Ѵ. Определив

величину

{кд, (AB)}N

путем

расширения системы оснований

и

отбросив

символы

числа

ядг (AB), соответствующие модулям рт +и ...,

р т+[,

получим иско­

мое округленное

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

[С }^.

 

 

 

 

 

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

ционной характеристики

(AB)jM,iN, так

как N = К п. Число

операций, необходимых для вычисления величины ^тсд/

 

определяется

тем,

насколько

велики

модули

СОК с основанием

M '[N . В частности,

если среди

них найдутся

п модулей',

произве­

дение которых

не

менее,

чем

N, то

можно

утверждать,

что для

последней операции расширения потребуется также не более п

модульных

операций.

 

 

 

 

В целом операцию

умножения

двух дробей можно

выполнить

за время,

пропорциональное величинам: 4/1+ 1,

если

расширение

системы оснований для

каждого из

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

осуществляется

последовательно. 3/t+l при параллельном выполнении этих операций и 2л + 1, если исходная СОК позволяет сразу получить произведение

{ДД}м.

Произведение С, вычисленное по формуле (1.29), является за­ ниженным, так как округление всегда производится в меньшую сто­ рону. Для того чтобы погрешности обоих знаков были равновероят­

ны,

к произведению {AB} м следует прибавить константу, рав­

ную

[IV/2].

 

Рассмотрим теперь случай, когда один или оба сомножителя яв­

ляются

отрицательными.

 

В §

1.2 было показано, что умножение целых чисел в СОК осу­

ществляется одинаково при любых знаках сомножителей. К сожале­

нию, для дробей

это несправедливо

из-за

операции

расширения

системы оснований.

 

 

 

 

Предположим, что отрицательное число А представлено в СОК

с основанием М : {А}аі [М — МІ}уцРасширим

эту систему,

добавив модули, соответствующие СОК с основанием R'. В ре­

зультате в новой

СОК с основанием

М' =

M R ' окажется пред­

26

ставленным число {Л4 — | А |]ЛІ,, отнюдь не равное { — | Л |}Л[„ так как I М \м , ф 0. Поэтому результат расширения следует скоррек­

тировать, вычитая из него основание М.

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

лена правильная дробь {/1}^, то в расширении участвуют лишь

модули, соответствующие знаменателю N. Поэтому вновь получен­ ные при расширении остатки соответствуют величине {ЛГ —

и для коррекции результата следует

вычесть

из

этих

остатков

константу

Заменяя в формуле

(1.26) Я

на

Я' и

вычитая

из правой части N, получим выражение для расширения

числи­

теля отрицательной дроби:

 

 

 

 

 

 

{А}& *= {(— АГ) (** (7і) + 1)}*,.

 

 

 

(1.30)

Тогда при расширении системы оснований для

дробей

с про­

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

 

 

 

{А}н , = { ( -

Ю( (it* (А) +

sign (Л))}*,,

 

 

(1.31)

 

если

А ;> U;

 

 

 

 

 

 

если

А < 0.

 

 

 

 

 

Следует отметить, что знак числа А однозначно определяется его позиционной характеристикой. В частности, если А является

числителем правильной дроби {Л}^, то

 

sign ( Л ) - | - * л г (^4)1/?'.

(1-32)

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

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

с произвольным

знаком при условии,

что М' > 2N 2. Причем знак произведения можно определять по формуле (1.32) лишь в том случае, если Я' > N.

Нетрудно убедиться в том, что количество модульных операций, необходимых для расширения системы оснований при использовании чисел с произвольным знаком, увеличивается на единицу по сравне­ нию с вариантом, рассмотренным в § 1.4.

IПоэтому для получения округленного произведения двух дробей

спроизвольными знаками требуется выполнить:

а) 2 (я И- 1) модульных операций,

если

М > 2N а;

б) 3(я + 1), если величины

{/1}^/

и

вычисляются одно­

временно;

 

 

 

 

в)

4(п+1), если те же

величины вычисляются последовательно.

К недостаткам данного способа умножения следует отнести не­

обходимость введения добавочных оснований

(для вариантов б) ив)),

в результате чего по меньшей мере вдвое увеличиваются аппаратур­ ные затраты иа создание арифметического устройства.

Поэтому рассмотрим другой способ умножения, не требующий введения добавочных оснований. Так же как и в предыдущем слу­

27

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

 

 

А = A \N I -f“ As,

В BiNs -j- Bz,

0 -33)

где NiNs = N н N- ~ Л С .

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

A\Bs

 

AsB^

AjBs ~[

 

 

 

 

 

А \ В ) -)-

 

 

 

 

 

 

N t

+

 

N ,

+

N J

 

 

 

 

 

 

 

 

 

 

 

 

AiBi

 

 

1 ГAsBj

 

 

 

 

 

 

NsJ +I

Nt.'

(1.34)

 

 

 

 

 

 

 

 

 

 

 

 

 

Положим

для

определенности

W

 

>

ЛГ,. Из

очевидных нера­

 

 

4-

 

2

 

следует,

что:

 

венств

/1 < N,

В-С N

и формулы

(1.33)

 

 

Hi <3 Л^2;

As

j;

Д, <С Л4;

Д2 <С ЛГ2

 

Из

возможных

произведений A,ß,

AsBi, A tBs

последнее

может

щшнпмать наибольшее значение, не превышающее величины (N 2— I)2.

Поэтому, выбирая

M > ( N 2— I)2, можно

гарантировать однозначное

представление этих произведений в заданной СОК.

Для вычисления произведения положительных дробей в соответ­

ствии

с формулой (1.34) необходимо сначала представить

величины

A t, As,

В, и В2 в СОК с основанием М. Очевидно, что

 

 

А\ — Гсдг, (-4); As — \ А )уѵ,;

Bi =

(В)', Bs —IВ (д^.

Поэтому для определения величин

{4} w и

{Ö.} лг сначала

вычисля­

ются позиционные характеристики в сокращенных СОК с основания­ ми M/Ni н MlNs соответственно, а далее эти системы расширяются до исходной. Число модульных операций, используемых в каждом

случае,

равно п.

{42},u и {В2} Лг можно воспользоваться вы­

Для

получения чисел

ражениями,

полученными

непосредственно из формулы

(1.33):

 

 

{Аг}м = {А}м {AIN S) M <’

 

 

 

^ {А і} лг = {В }м — {B I N S} M .

 

Далее,

после вычисления произведении •(

{4, 62}^

и{Л2Д,}лі в соответствии с формулой (1.34) определяются позицион­

ные характеристики {r-Nli (А Д 2)}/И и

(4 2S I)}JV и, наконец, про­

изведение ( С j. Полученный результат может отличаться от искомо­

го произведения почти на три единицы младшего разряда из-за оши­ бок, возникающих при округлении. Однако, если М > 3 ЛГ, то вели­ чину ошибки Д можно определить из выражения {Д}лі =*

= {лдг (АВ — CW)}AT

Произведения {АВ}М и {СЫ}щ вычисляются формально, так как нас интересуют не сами эти величины, а их разность, которая может быть однозначно представлена в заданной СОК.

Для получения симметричной погрешности округления к произ­ ведению АВ следует прибавить величину [N/2].

Если положить Рп+і^4, то для вычисления ошибки требуется п-\-2 модульных операции, а в целом умножение двух положитель­

ных дробей можно выполнить за время, соответствующее 5/г+ІІ

мо-

- дульным операциям при минимальном объеме арифметического

уст­

28

ройства, либо Зл+7 операциям, если использовать два преобразова­ теля из СОК в ОПС.

Если перемножаемые дроби имеют произвольные знаки, то при расширении системы оснований можно воспользоваться формулами, аналогичными (1.31) и (1.32). Правда, вторая формула может ис­ пользоваться для определения знака лишь у чисел, меньших чем N. В то же время произведение ЛіВ2 может превышать знаменатель дроби. Однако нетрудно убедиться в том, что Д2 и Во всегда поло­ жительны, и поэтому знак А (или А і) совпадает со знаком произве­ дения А\Вг. Что касается ошибки Д, то она так же всегда положи­ тельная независимо от знаков сомножителей А и В, ибо округление при вычислении позиционных характеристик осуществляется в мень­ шую сторону.

Число модульных операций, использующихся при вычислении произведения двух дробей с произвольными знаками, не превышает 5(п+3) либо 3(л+3) при наличии двух преобразователей из СОК

вОПС.

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

рядам произведения

Q N 2

=

| AB |дг / N 2,

можно воспользоваться

выражением

 

 

 

 

 

 

 

 

{ С } Л - { Д В - ( С

+ Д)Л7}Л .

Пример

1.7.

Пусть

задана

СОК

с основаниями рі= 3,

Ро=7 и Рз—4; N = 3-7=21;

Л4 —ЛМ =84. Вычислим произведение

дробей AIN — l6l2 i и

ß/TV =

l0/21, представленных в данной СОК при

помощи перехода к расширенной системе оснований:

{ + $

= {1,2,0}Ц;

6

{ ß }"

= { 2 , 4 , 2 }|і .

Добавив модуль Ръ— Ъ и р = П , получим новую СОК с основанием Л4'=4620, причем R '= 5 5 > N .

Представим числители дробей в этой СОК, используя формулы

(1.31) и (1.32):

 

 

 

 

{А}м' =

{1. 2, 0, 1, 5}4620;

 

{Вм ,} = {2- 2-

1}-іб2о-

Тогда

{ЛВ}М, = {1, 1,0, 0, 5}4620;

 

 

 

 

{™/Ѵ(AB)}m ,iN

=

{0, 2, 3}220 ;

 

Sign (тсдг (ДВ)) = I — nM 'I R ( A B ) |д = I —3 |t =

1

 

Г гсдг (AB)

 

^заметим, что

яM'lR (AB) “ L

Л'

Поэтому, используя вы­

ражение (1.31),

получим

 

 

 

{ * N (AB)}N = { 1,6}21;

{лдг (AB)}jtf, — {1, 6, 0, 2, 3).4бао.

Переходя снова к исходной СОК путем исключения цифр, соот-

29

Соседние файлы в папке книги из ГПНТБ