Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Module_1_answers_with_practice.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.55 Mб
Скачать

Додавання

Кожна цифра десяткового числа може бути представлена ​​кодом від 0000 до 1001, тому якщо при додаванні розряду j двійковій-десяткового числа результат менше, або дорівнює 9, то корекції не потрібно, оскільки двійковій-десятковий код результату повністю збігається з його двійковим кодом.

Якщо при додаванні j-розрядів чисел результат Zj буде більше або дорівнює 10, то потрібна корекція результату.

У таких випадках треба робити корекцію результату. Додаємо до остаточного результату 610 або 0110 і отримуємо:

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

якщо при додаванні багаторозрядних двійковій-десяткових чисел виникло перенесення з розряду або f = 1, то цей розряд вимагає корекції (додавання 610). При цьому коригуються всі тетради послідовно, починаючи з молодшої.

Приклад:

Віднімання

За аналогією з операціями віднімання в двійковому коді операцію XY можна представити як X + ( - Y). При цьому негативне число представляється в додатковому коді , аналогічному додатковому коду в двійковій арифметиці . Цей код використовується тільки для виконання операцій віднімання. Зберігаються двійковій- десяткові числа ( як позитивні , так і негативні) в прямому коді зі знаком .

Алгоритм виконання операції полягає в наступному:

  1. Модуль позитивного числа представляється у прямому двійковій- десятковому коді

Модуль від'ємного числа - в додатковому коді (ДК) з надлишком 6 .

Для отримання ДК необхідно:

  • Інвертувати значення розрядів всіх тетрад числа;

  • До молодшого розряду молодшої тетради додати 1 .

Таким чином , ланцюжок ПК ( mod )  ОК  ОК +1  ДК аналогічна ланцюжку у двійковій арифметиці . Тільки тут виходить ДК з надлишком 6 , так як доповнення йде не до 10 , а до 16.

  1. Провести додавання операндів (X) в ПК і (Y) в ДК .

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

  3. Якщо при додаванні тетрад не виникає перенесення зі старшої тетради , то результату присвоюється знак "-" , тобто результат виходить в надлишковій ДК . У цьому випадку необхідно перейти до надлишкового ПК (тобто інвертувати всі двійкові розряди двійковій- десяткового числа і додати до молодшого розряду 1).

  4. Отриманий в цьому випадку результат в ПК коригується. Для цього до тих зошитів, з яких виникав перенесення при виконанні пункту 2 (при підсумовуванні ) , необхідно додати 10 ( 10 ) або 1010 ( 2). Виниклі при цьому міжтетрадного переноси не враховуються. Таким чином , коригування відбувається в тих тетрадах , які в позитивних числах не коригуються . Слід зазначити , що при виконанні операції віднімання більшого числа з меншого ( X - Y = Z , при | X |  | Y | ) , тобто при Z  0 алгоритм корекції результату після переведення Z з ДК в ПК вимагає уточнення. А саме , після переведення Z в ПК необхідність корекції визначається не тільки наведеними правилами, але й наступними вимогами :

  1. нульовий результат не коригується ;

  2. значущі нулі праворуч в результаті не коригуються;

  3. якщо Z  0 і в ньому відсутні значущі нулі праворуч (тобто пп. а, б не мають місця), необхідно аналізувати Y. Якщо в Y є значущі нулі праворуч , то відповідні їм розряди ( тетради ) Z вимагають обов'язкової корекції, незалежно від наявності переносів при додаванні XПК і YДК .

Відсутність перенесення зі старшої тетради є ознакою того, що результат вийшов в ДК (тобто негативний).

Перейдемо до нескоректована надлишкового ПК:

Оскільки раніше результат виходив в ДК, тобто негативний, необхідно додати знак (-). Остаточний результат буде наступний:

Z = - (0001 1000 1001) = -189 10

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