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

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Державний іспит
Предмет:
Прикладна теорія цифрових автоматів
Варіант:
17

Частина тексту файла (без зображень, графіків і формул):

Алгебраїчне додавання у зворотному та в доповняльному кодах. Модифіковані коди. При складанні двох чисел, представлених в зворотному або додатковому коді, їх знакові розряди складаються аналогічно цифровим, причому можливе перенесення одиниці із старшого цифрового розряду в знаковий. Якщо обидва операнди представлені в прямому коді і мають однакові знаки, то над такими операндами виконується процедура складання і результату привласнюється знак початкових операндів. Розглянемо приклади: 1) 210 + 410 = 610 2) -210 - 410 = -610 0. 0010 а) 1. 1110 б) 1. 1101 + 0. 0100 + 1. 1100 + 1. 1011 0. 0110 = 610 1  1. 1010 = -610 1  1. 1000 +1 коррекция 1. 1001 = -610 У другому прикладі обидва негативних доданків представлені або в додатковому коді (а), або в зворотному коді (б). У першому випадку результат отриманий в додатковому коді, а в другому, після корекції, - в зворотному. Якщо ж операнди мають різні знаки, то повинна виконуватися процедура віднімання. Але, як вже наголошувалося, процедуру віднімання замінюють процедурою складання, негативний операнд (від'ємник) представляють в зворотному або додатковому коді, а позитивний операнд - в прямому коді. Наприклад: 1) 410 - 210 = 210 а) 0. 0100 б) 0. 0100 + 1. 1110 + 1. 1101 1  0. 0010 = 210 1 0. 0001 +1 коррекция 0. 0010 = 210 2) 410 - 410 = 0 а) 0. 0100 б) 0. 0100 + 1. 1100 + 1. 1011 1 0. 0000 = 010 1. 1111 +1 коррекция 1 0. 0000 = 010 3) 210 - 410 = -210 а) 0. 0010 б) 0. 0010 + 1. 1100 + 1. 1011 1. 1110 = -210 1. 1101 = -210 коррекции нет. У прикладах 1а) і 2а) одиниця, що виходить за розрядну сітку, не враховується ("втрачається"). Як видно з прикладів процедура складання, алгебри, з додатковими кодами простіше, ніж із зворотними кодами, оскільки в останньому випадку при виникненні одиниці перенесення за межі розрядної сітки, виділеної для числа у форматі з фіксованою комою, доводиться коректувати результат за допомогою додаткової процедури збільшення одиниці до результату. Нульовий результат виходить або в прямому коді чи ж в зворотному, що також вимагає корекції результату. Тому в даний час на практиці для представлення негативних операндів використовується в основному додатковий код. Таким чином, перед виконанням самої процедури складання, алгебри, в додатковому коді потрібно проаналізувати знаки доданків. Якщо вони різні, то виконується складання (фактично віднімання), алгебри, без перевірки на переповнювання результату, оскільки його в цьому випадку просто не може бути. Але контролюється щоб в результаті не з'явився заборонений негативний нуль. Якщо ж у початкових операндів знаки однакові, то такий же знак заздалегідь привласнюється результату і виконується саме складання. Якщо знак остаточного результату не співпадає із заздалегідь привласненим знаком, то це є ознакою переповнювання і отже, неправильного результату. Ще раз підкреслимо, що результат складання, алгебри операндів представлених в зворотному і додатковому кодах виходить також в зворотному і додатковому коді відповідно. Модифікований прямій, зворотний і додатковий код Ці коди відрізняються від звичайних прямих, зворотних і додаткових тим, що мають по два знакові розряди. При виконанні арифметичних дій над двійковими числами ці два знаки дозволяють легко визначити переповнювання розрядної сітки. Якщо вміст цих двох розрядів співпадає, то означає переповнювання відсутній. Інакше в комп'ютері виробляється сигнал (сигнал переповнювання), що управляє, або на останов комп'ютера, або на усунення переповнювання розрядної сітки. Приклади. 1) Скласти два числа в модифікованому коді: X = 00. 01012, Y = 00. 00112 , X + Y = 510 + 310 = 810 00. 0101 + 00. 0011 00. 1000 = 810 2) Сложить X = -510 = -01012 = 11. 0101 , Y = -810 = -10002 = 11. 1000 X + Y = -1310 11. 1011 + 11. 1000  1 11. 0011 = -1310 3) Сложить X = 0,1101 , Y = 0,1101, X + Y = 2610 00. 1101 + 00. 1101 01. 1010 различные знаковые разряды свидетельствуют о переполнении разрядной сетки. 4) -8 - 8 = 0 11. 1000 + 11. 1000  1 11. 0000 . У останньому прикладі вийшов негативний нуль, тому комп'ютер генерує сигнал збою. Треба відзначити, що в машинах 3-го і 4-го поколінь модифікований код не використовується.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!