Файл: Основы теории алгоритмов учеб. пособие.pdf

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

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

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

Добавлен: 24.10.2024

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

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

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

 

 

 

 

 

 

 

,

-

120

-

 

 

 

 

 

 

для

Ч*

*

^

(

к ч

,.4»,2,1

 

 

 

 

 

 

 

 

'

Р

ы

+ i X

C <3,* ' ) ^ +

5 i - p t + ( а х + В ) с 2 ' 1п.

 

 

Здесь

коэффициент 0 ,10

. . .

00 введен для округления.

 

|

 

Максимальное чиоло однозначных слов о учетом олова ко»!

эффицнента

&

 

^ подлежащих Словению, равно

 

ЧГ «

2 к

j,

Кроме того,

для

1 = 1

имеем

 

]?4 <

I ,

поэтому число инан

колнх разрядов

 

Ц,

можно выбрать

из уоловия

 

 

|

 

 

 

 

 

•2*"*

<

2 к - 4

2

<v.

 

(4 .4 i)

!

ти.

Реализуем (4.39) и (4.40) на примере удвоенной точнос­

 

Из (4.41)

имеем

 

=

2,

Схема вычисления а х + &

при»

 

 

мет вид

(рио.

4.6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

й

»•

 

Д|

I

а .

I

 

 

 

 

 

 

 

 

 

 

X

=

 

X.

I

* (

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Ai

 

 

 

 

 

 

 

 

 

 

 

 

 

At

[

Аэ

I

 

 

 

 

 

 

 

 

 

 

 

 

/Ц ______ As

 

 

 

 

 

 

 

 

 

 

Ае

 

 

Аг

 

 

 

 

 

 

 

 

 

6 в

 

 

В,

 

 

6 г ’

1 0 - 0 0 0

 

 

 

 

 

 

п-

f

 

( V

 

 

Пй

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

4.S

 

 

 

 

 

 

Здесь,

при накоплении суммы чисел

Д а , Д 4 , А г *

6

возможны 3 единица переноса, Поэтому для

сохранения знака

*

суммы ( А & и

Ац ~ старшие части частичных произведений

представлены со знаками) введем дополнительно 3-й знаковый раа ряд.


- 121 -

 

Команда специальной записи

( ||=Ф

)

реаяиэуетоя сле­

дующим образом!

 

 

 

переносится в

 

1 .

Содержимое цифровых разрядов

£ .

память машины е положительным знаком.

 

 

 

 

2 .

Цифровые разряды 51

гноятся.

 

 

 

 

3 . Содержимое знаковых разрядов

£

переносится в

младшие разряди 5! • При этом,

если знак оуииы положителен

(

Ш

= о ), то остальные разряди оушатора

заполняются еди­

ницами (заполняются также и знаковые разряды).

 

 

Введем две команды:

 

 

 

 

 

 

1. Специальное умножение без округления о сохранением

младшей чаоти произведения на регистре множителя-частного

(

Рмч ) . Условное обозначение -

®

,

 

 

 

2 .

Запиоь содержимого Рмч

о положительным знаком в

память машины. Условное обозначение - К Рмч>|

.

 

Тогда алгоритм о использованием команд в параграфе 4.3

будет

>£-

 

 

 

 

 

 

 

O L > - > Ae

 

 

 

 

 

 

 

|<Рмч>|-*Аг

 

 

 

.

|< Р ччЯ - » а 5

u .« >

а« - * £

<£ > ® Я я

| < P m4 > |- » A s

< £ > ® 0 С *


-122 -

<£ > e As

<51>Ф As

ю ©

-

о

о

< 5:

0> ,

<£ > к = > 0

<£ > © А и

<£>© А 4

<£>© Аг

<S > © & 2

<SL>II=> Пи

<£ > © А б

Реализуем умножение по системе (4.19), тогда линейная

функция реализуется оиотемой

 

 

 

 

 

n«.j,

+Pft.j)г-'1*1'"- <3f«*i) г41*"",

 

 

(длй

j=lc

имеем P(itK)“0;

П(й|)“0)-.

 

 

 

 

для

t-k

u j=k, 1м,...,2,< ;

 

 

(<Л.2~**)(Ч^2~*") +Gfi+i> 2~^)и =

(4,43)

 

 

 

 

2 - (i^

rt4+

П и ) 2 4c+i)n.

 

 

 

 

(для

P (i+j*o

“ П О ■

 

 

Для каждого фиксированного

i =

к ,

к ~(

3,2,

параметр

|

принимает значения к ,

к-{

, . . . , 2 , 1 . Для

' i= I

первая

итерация заменяется

 

 

П(»а 2 ' й,г\

b t - f f u .

 

E W

 

 

 

где для

С«=кН ,

b t - 0,10...00 константа округления по

(

k +

I) -му олову:

 

 

 

 

 

 

для

Т -

к t k-i

.........2,1

D t- олова числа

Б ,

 

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

в одной итерации системы (4.43),

равно четырем (случай

1= I ) .

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


- 123 -

Реализуем (4.43) на примере удвоенной точности вычисле­ ний. Для этого будем использовать следующие команды:

1.

Посылка числа на Рмч

( < « 0 —> Рмч

) .

2.

Запоминание

< Рмч >

( \<-Рмч>| —

).

3. Специальное сложение из (4.31).

 

4 .

Умножение с накоплением. Здесь < Рмч> множится на

<«4> я складывается о накоплением <Х > (<Рмч>®<4>+<£>,

Алгоритм:

С1г-*2.

 

 

Qi -> ft»4

 

 

<Рмч>®Л* +< £ >

 

 

< Х > - > А г

(4.44)

|< P m > | - ^ A j А» -> 5 :

<51 >Ф 0 , 1 0 ...ОО

01г. Рмч

<Рмч>® 30-1 + <51 >

<5 1 > е А г

<£ > Ф $ г

0< -> Рмч

+ Ч 2 >

<z > + b i

<Z > - t П: .

В(4.42) и (4.44) на сложение о каждым оловом коэфзаьшз:

ента 6 затрачено по одной простой команде. Для

к . -

значней точности будет

затрачено

к простых команд оложения.

Тогда время реализации

алгоритма

линейной функции

 

й н = k am-to + k b .

Абсолютный выигрыш во времени составит

д 4 : =» "Ьи - "Ьлн « k ( t - ( ) b .

Алгоритмом линейной функции можно реализовать не толь­ ко функции, приведенные к охеме Горнера, но и функции вида

т

р* = Ole -Р . (4.45)

i-1