русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Довжини на доповняльні коди одинарного формату 3 страница


Дата додавання: 2015-01-08; переглядів: 1041.


Приклад ділення (+МА)DK на (+МВ) DK за алгоритмом «а» при застосу-ванні скороченого формату дільника подано на рис.3.23.

 

 

А В
X X X X X ND X X X X 0 ND = NA ÅNB = 0 ND X X X 0 0   = NA4 Å NB = 0 ПП = ND Å = 0 ND X X 0 0 1   = NA3 Å NB = 1 ND X 0 0 1 1   = NA2 Å NB = 1 ND 0 0 1 1 0   = NA1ÅNB = 0   0 0 0 1 1 0 1 NA 1 1 1 0
 
 


1 1 1 1 1 0 1

NA4

 

       
   
 
 


1 1 1 1 0 1 0

0 0 1 0

 
 


0 0 0 1 0 1 0

NA3

       
   
 
 


0 0 1 0 1 0 0

1 1 1 0

       
 
 
   


0 0 0 0 1 0 0

NA2

       
   
 
 


0 0 0 1 0 0 0

1 1 1 0

 
 

 


1 1 1 1 1 1 1

NA1

0 0 1 0

       
 
 
   


0 0 0 1 0 0 0

3 p

0 0 0 0 0 0 1

C

0 0 1 0 NB NA =NB   =     = NA4 ≠ NB   =    
 
 


NA3 = NB

 

=

 

 

NA2 = NB

 

=

=

NA1≠ (NB Å ND) = 0

= CDK × 23

 

= C

 

 

Рисунок 3.23 – Приклад ділення (+МА) на (+МВ) за алгоритмом «а»

при застосуванні скороченого формату дільника

 

Побудуємо тепер алгоритм визначення цифр частки від ділення (+МА) на (-МВ) .

За цих умов первинний стан діленого і дільника за загальним алгоритмом ділення визначаються числовими змінними:

А = (+ МА); (3.106)

ВР = (- МВ), (3.107)

де А, ВР – відповідно подвійний формат діленого і розширений подвійний формат знормованого дільника;

У даному випадку NA=0 і NB=1, тому ND = NAÅNB = 1. Тоді згідно з (3.66) обчислення ознаки переповнення розширеного формату частки повинно визначатися за співвідношенням:

d = = .

Відомо, що в прямому виді d4 = 1 у тому випадку, коли МА≥МВР, тому розшир dn(d4) потрібно визначати нерівностями виду:

1, якщо А4 ≥ 0;

0, якщо А4 < 0. (3.108)

де А4 = (МА – МВР) - (3.109)

– залишок модуля діленого після віднімання подвійного розширеного формату дільника МВР.

Для визначення залишку А4 у доповняльному коді перетворимо (3.109) наступним чином:

А4 = (+МА) + (- МВР).

Звідси згідно з (3.105) і (3.106) дістанемо:

А4 = А + ВР.

Із цього випливає, що залишок А4 у доповняльному коді А4 потрібно обчислювати за формулою:

А4 = (128+ (А+ВР))m128 = (А + BP ) m128, (3.110)

де А = (+МА) ; BP = (-МВР) .

Згідно властивостей доповняльного коду маємо:

0, якщо А4 ≥ 0;

1, якщо А4 < 0. (3.111)

де NA4 – знак залишку А4 .

Через те, що при діленні (+МА)DК на (-МВ)DК знак дільника NB=1, розшир dn може бути пов’язаний зі знаком дільника NB рівнянням:

dn = (NA4 Å NB), (3.112)

тобто 0, якщо NA4 = NВ;

1, якщо NA4 ≠ NВ.

Отже , згідно з (3.107) розшир d від’ємної частки при діленні (+МА)DК на (-МВ)DК повинен формуватися за рівнянням:

d = . (3.113)

Приклади визначення позиції d від’ємної частки при діленні (+МА)DК на (-МВ)DК подано на рис.3.24 - 3.25.

Припустімо, що обчислення найстаршої цифри частки d виконується зі зсувом дільника вправо, тобто за алгоритмом «б».

Початковий стан числових змінних, за якими визначається позиція d частки має вигляд:

A4 = (- MA4); (3.114)

BP3 = (-МВР3), (3.115)

А ВP Примітки
5 4 3 2 1 7 6 5 4 3 2 1 7 6 5 4 3 2 1
X X X X X  
 
 


ND

X X X X 1

ND = NAÅNB =1

 

 

ND

X X X 1 1

 
 


ППок = 0

0 0 1 1 0 1 0 NA
 
 


ND

 
 


0 0 1 1 0 1 0

1 0 1 1 0 0 0

       
 
 
   


1 1 1 0 0 1 0

NA4 NB=1

 
 


о

 

= NA4 Å NB=1

1 0 1 1 0 0 0 NB NA ≠ NB     = A   = А4     A = + 011 010 B = - 101 BP = - 101 000 = 0 011 010 = 1 011000

Рисунок 3.24 – Приклад визначення позиції = 1

при діленні (+МА)DK на (-МВ)DK

 

5 Примітки
5 4 3 2 1 7 6 5 4 3 2 1 7 6 5 4 3 2 1
X X X X X  
 
 


ND

X X X X 1

ND = NAÅNB =1

 

 

ND

X X X 1 0

 
 


ППок = 1

0 1 1 0 0 1 0 NA
 
 


ND

 
 


0 1 1 0 0 1 0

1 0 1 1 0 0 0

       
 
 
   


0 0 0 1 0 1 0

NA4 NB=1

 
 


о

 

= NA4 Å NB = 0

1 0 1 1 0 0 0 NB = 1 NA ≠ NB     = ADK = (А4)     A = + 110 010 B = - 101 BP = - 101 000 = 0 110 010 = 1 011000

 

Рисунок 3.25 – Приклад визначення позиції = 0 частки

при діленні (+МА)DK на (-МВ)DK

 

 

де МА4 = |МА – МВР| – модуль залишку діленого за dn = 0;

МВР3 = (МВР/2) – стан модуля дільника після логічного зсуву на один біт вправо розширеного подвійного модуля дільника МВР.

Згідно з (3.66) при діленні (+МА)DК на (-МВ)DК справедливі співвідно-шення:

1, якщо А3 ≥ 0;

0, якщо А3 < 0, (3.116)

де А3 = (МА – МВР3). (3.117)

Із урахуванням (3.114) – (3.115) перетворимо (3.117), записуючи його у вигляді:

(-А3) = А3П = (-МА) – (-МВР3) = (А4 – ВР3), (3.118)

де А3П – залишок діленого, протилежний залишку А3.

Із цього випливає, що доповняльний код числової змінної АЗП повинен визначитися співвідношенням:

АЗП = (128+(А4 – ВР3))m128 = ((128+А4)m128 – (128+ВР3)m128)m128=

= (А4 + 128 – ВР3 )m128=(А4 + (127– ВР3 ) + 1)m128 =

= (А4 + + 1) m128 . (3.119)

Звідси дістанемо:

0, якщо А3 < 0;

1, якщо А3 ≥ 0, (3.120)

де NA3П = - знак числової змінної АЗП = (-А3).

Із урахуванням залежностей (3.120) нерівності (3.116) набувають вигляду:

1, якщо NА3П = 1;

0, якщо NА3П = 0, (3.121)

Через те, що при діленні (+МА) на (-МВ) знак дільника NВ = 1, нерівності (3.121) можна записати у вигляді:

1, якщо NА3П = NВ;


<== попередня лекція | наступна лекція ==>
Довжини на доповняльні коди одинарного формату 2 страница | Довжини на доповняльні коди одинарного формату 4 страница


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн