Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Машинні алгоритми операції ділення

Читайте также:
  1. B. частина програми, де змінна оголошена або, де до неї можна отримати доступ за допомогою операції надання видимості.
  2. Акцизний податок: платники, об’єкт та база оподаткування, операції, звільнені від оподаткування.
  3. Алгоритми переведення чисел з однієї позиційної системи числення в іншу
  4. Алгоритми розрахунку основних параметрів системи моніторингу.
  5. Алгоритмическая вероятность
  6. Алгоритмическая информация
  7. Алгоритмическое выравнивание загрузки ресурсов

Прискорені алгоритми множення. Алгоритм Бута

 

 

Цей алгоритм передбачає аналіз наявності підряд слідкуючих одиниць множника з тим, щоб замінити множення на N одиниць на 2n-1. Для цього аналізуються два розряди другого множника. При найбільш сприятливому поєднанні цифр множника кількість складань рівна n/2, де n - число розрядів множника.

Наведемо ще один приклад множення за покращеним алгоритмом Бута, в якому використовуються ті ж самі множники, що і у попередніх прикладах за класичними схемами. При цьому другий множник зсувається одразу на два розряди праворуч.

 

   
   
   

Початковий стан

     
     
     
     

 

 

Перший крок

 

     
     
     
     

Другий крок

 

     
     
     
     

Третій крок

 

     
     
     
     

Четвертий крок

 

Як бачимо, результат такий самий, як і у попередніх прикладах.

 

 

Машинні алгоритми операції ділення

Машинне ділення організовано за тією ж схемою, як й звичайне десяткове ділення. Тобто, починаючи зі старших розрядів діленого, віднімається дільник і формує чепнрві цифри результату, починаючи зі старшої. Якщо результат віднімання додатній, то чергова цифра результату ділення, починаючи із старшої цифри, дорівнює 1, інакше 0 і повторювати ці дії, зсуваючи праворуч на один розряд дільник, доки кількість розрядів діленого операнду, не буде менше за кількість цифр дільника.. Якщо при черговому відніманні дільника результат буде від’ємний, то треба відновити від’ємний залишок. Від’ємний залишок можна і не відновлювати, якщо на наступному кроці віднімання замінити на додавання. Припустимо, що і-му кроці маємо від’ємний результат. Тобто, ми віднімали 2і*D, де D – це дільник. При відновленні від’ємного залишку виконується +2і*D та чергове віднімання -2(і-1)*D, тобто фактично виконується додавання +2(і-1)*D. Звідси існує два алгоритми множення: з відновленням від’ємного залишку та без його відновлення.

При діленні із відновленням від’ємного залишку алгоритм складається із таких кроків: 1) до старшої частини числа, що ділиться, додається додатковий код дільника, якщо результат додатній, чергова цифра результату ділення буде 1. 2) Від’ємний залишок відновлюється за допомогою прямого коду дільника. Вказані дії повторюються циклічно. Кількість кроків в циклі обмежується останньою двійковою цифрою діленого.

В разі ділення без відновлення від’ємного залишку маємо два коди дільника – прямий та додатковий. Цей алгоритм заснований на тому, що замість відновлення від’ємного залишку виконується додавання прямого коду дільника до від’ємного залишку.

Алгоритм машинного ділення у відповідних машинних командах реалізований як мікропрограма (низка мікрокоманд).

Приклад машинного ділення за алгоритмом з відновлюванням від’ємного залишку. Для прикладу візьмемо результат попереднього множення та один з множників. В результаті ділення отримаємо другий множник.

-11001010

1011100111000110 від’ємний залишок

+11001010 відновлення

-11001010

0001111011000110 чергова цифра результату - 1

-11001010

1110110001000110 від’ємний залишок

+11001010 відновлення

0001111011000110 чергова цифра результату - 0

-11001010

0000010110000110 чергова цифра результату - 1

-11001010

+11001010 відновлення

0000010110000110 чергова цифра результату – 0

-11001010

+11001010 відновлення

0000010110000110 чергова цифра результату – 0

-11001010

0000001001011110 чергова цифра результату - 1

-11001010

0000000011001010 чергова цифра результату - 1

-11001010 чергова цифра результату - 1

Як бачимо, в результаті ділення тримали значення другого множника з попереднього прикладу.

 


Дата добавления: 2015-11-14; просмотров: 32 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Dwight D. Eisenhower| Цена Договора

mybiblioteka.su - 2015-2024 год. (0.008 сек.)