Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_lab_OFK.doc
Скачиваний:
13
Добавлен:
06.11.2018
Размер:
1.13 Mб
Скачать

1.1.2. Ділення без відновлення залишку

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

Дамо опис цього алгоритму.

  1. Початкове значення часткового залишку (ЧЗ) приймається таким, що дорівнює старшим розрядам діленого;

  2. ЧЗ подвоюється шляхом зсуву на один розряд вліво. При цьому у молодший розряд ЧЗ, що звільняється при зсуві, заноситься чергова цифра частки;

  3. Із зсунутого ЧЗ віднімається дільник, якщо залишок додатний, і до зсунутого ЧЗ додається дільник, якщо залишок від’ємний;

  4. Наступна цифра модуля частки дорівнює 1, коли результат віднімання додатний, і нулю, якщо він від’ємний;

  5. Пункти 2 – 4 послідовно виконуються для отримання усіх цифр модуля частки.

Як видно, пункти 1, 2, 5 повністю співпадають з відповідними пунктами попереднього алгоритму ділення. Наступний приклад із числами, що були використані у попередньому прикладі, проілюструє даний алгоритм.

1 1 0 0 1 0 0 | 1 0 1 0

Доповнювальний код дільника + 0 1 1 0 | 1 0 1 0

Є переніс 1 ← 0 0 1 0

0 1 0 1

Доповнювальний код дільника + 0 1 1 0

Переносу немає 0 ← 1 0 1 1

0 1 1 0

+ 1 0 1 0 - прямий код дільника

1  0 0 0 0

0 0 0 0

+ 0 1 1 0 – доповнювальний код дільника

0  0 1 1 0

1.2. Множення двійкових чисел із знаком

Алгоритми виконання операції множення двійкових чисел базуються на правилах множення однорозрядних чисел, а операція множення двох чисел зводиться до циклічного виконання сукупності операцій множення множеного на послідовність розрядів множника і відповідного зсуву множеного і множника.

Алгоритми виконання операції множення для різних форм подання чисел відрізняються незначно. Головні відмінності полягають у визначенні величини порядку добутку при множенні чисел з рухомою комою і місця коми при множенні чисел з фіксованою комою.

Від’ємними можуть бути як множене, так і множник. Як відомо, від’ємний знак подається одиницею, що сприймається комп’ютером як старший розряд числа. Тоді результат операції множення, коли множене або множник від’ємний, буде хибний і величина похибки залежить від того, яке з двох чисел є від'ємним.

При поданні від’ємних чисел у доповняльному або оберненому коді, множення виконується за правилами множення прямих кодів (при відповідному перетворенні кодів множників і добутку) або безпосередньо у цих кодах із врахуванням їх специфічних якостей.

Код знаку добутку визначається шляхом виконання операції додавання за модулем 2 згідно наступної таблиці.

Код знаку числа А

Код знаку числа В

Код знаку добутку

0

0

0  0 = 0

1

1

1  1 = 0

0

1

0  1 = 1

1

0

1  0 = 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]