Лабораторна робота № 2.
Мета роботи: вивчити запис чисел в комп'ютерах у вигляді прямого, зворотного і додаткового коду і арифметичні дії з кодами.
Всі операції в ЕОМ виконуються над числами, представленими спеціальними машинними кодами. Їх використання дозволяє обробляти знакові розряди чисел так само, як і значущі розряди, а також замінювати операцію віднімання операцією додавання.
Розрізняють прямий код (П), зворотний код (ОК) і додатковий код (ДК) двійкових чисел.
Прямий код двійкового числа утворюється з абсолютного значення цього числа і коду знака (0 чи 1) перед його старшим числовим розрядом.
Зворотний код двійкового числа утворюється за наступним правилом. Зворотний код позитивних чисел збігається з їх прямим кодом. Зворотний код негативного числа містить одиницю в знаковому розряді числа, а значущі розряди числа замінюються на інверсні, тобто нулі замінюються одиницями, а одиниці нулями.
Свою назву зворотний код отримав тому, що коди цифр негативного числа замінені на інверсні. Найбільш важливі властивості зворотного коду чисел:
складання позитивного числа С з його негативним значенням в зворотному коді дає т.зв. машинну одиницю МЕОКАМ = 1: 11 ... 11, що складається з одиниць в знаковому і в значущих розрядах числа;
нуль в зворотному коді має двояке значення. Він може бути як позитивним числом - 0: 00 ... 00, так і негативним 1: 11 ... 11. Значення негативного числа збігається з МЕОКАМ. Двоїсте уявлення 0 стало причиною того, що в сучасних ЕОМ все числа подаються не зворотним, а додатковим кодом.
Додатковий код позитивних чисел збігається з їх прямим кодом. Додатковий код негативного числа є результат підсумовування зворотного коду числа з одиницею молодшого розряду (2 0 - для цілих чисел, 2-л - для дрібних)
Основні властивості додаткового коду:
складання додаткових кодів позитивного числа С з його негативним значенням дає т.зв. машинну одиницю додаткового коду:
Медком = МЕОКАМ + 2 0 = 10: 00 ... 00,
тобто число 10 (два) в знакових розрядах числа;
додатковий код називається так тому, що уявлення негативних чисел є доповненням прямого коду чисел до машинної одиниці медку.
Модифіковані зворотні і додаткові коди двійкових чисел відрізняються відповідно від зворотних і додаткових кодів подвоєнням значень знакових розрядів. Знак «+» в цих кодах кодується двома нульовими знаковими розрядами, а знак «-» - двома одиничними розрядами.
Метою введення модифікованих кодів є фіксація і виявлення випадків отримання неправильного результату, коли значення результату перевищує максимально можливий результат в відведеної розрядної сітці машини. В цьому випадку перенесення з значущого розряду може спотворити значення молодшого знакового розряду. Значення знакових розрядів «01» свідчить про позитивний переповненні розрядної сітки, а «10» - про негативний переповненні. В даний час практично у всіх комп'ютерах роль двоїння розрядів для фіксації переповнення розрядної сітки грають переноси, що йдуть в знаковий і з знакового розряду.
Арифметичні дії в машинних кодах.
Додавання (віднімання). Операція віднімання приводиться до операції додавання шляхом перетворення чисел в зворотний або додатковий код згідно з таблицею.
Тут А і В невід'ємні числа.
Дужки в представлених виразах вказують на заміну операції віднімання операцією додавання зі зворотним або додатковим кодом відповідного числа. Додавання двійкових чисел здійснюється послідовно, поразрядно відповідно до таблиці. При виконанні додавання цифр необхідно дотримуватися таких правил:
Складові повинні мати однакове число розрядів. Для вирівнювання розрядної сітки доданків можна дописувати незначущі нулі зліва до цілої частини числа і незначущі нулі справа до дробової частини числа.
Знакові розряди беруть участь у складанні так само, як і значущі.
Необхідні перетворення кодів виробляються зі зміною знаків чисел. Приписані незначущі нулі змінюють своє значення при перетвореннях за загальним правилом.
При перетворенні одиниці переносу зі старшого знакового розряду, в разі використання ОК, ця одиниця складається з молодшим числовим розрядом. При використанні ДК одиниця перенесення втрачається. Знак результату формується автоматично, результат представляється в тому коді, в якому представлені вихідні складові.
Приклад 1. Скласти два числа: А10 = 7, В10 = 16.
Вихідні числа мають різну розрядність, необхідно провести вирівнювання розрядної сітки:
Додавання в зворотному або додатковому коді дає один і той же результат:
Приклад 2. Скласти два числа: А10 = + 16, В10 = -7 в ОК і ДК.
По таблиці необхідно перетворення А + (- У), в якій другий член перетворюється з урахуванням знака
При додаванні чисел в ОК і ДК були отримані переноси в знаковий розряд і з знакового розряду. У разі ОК перенесення з знакового розряду вимагає додаткового збільшення одиниці молодшого розряду (п.4 правил). У разі ДК цей перенос ігнорується.
Множення і ділення двійкових чисел проводиться в прямому коді методом зсуву.
Взяти дві пари десяткових двозначних цілих числа за бажанням: А, В, С, D.
Обчислити (А-В) ок, (В-А) дк, (С-D) ок, (D-C) дк.
Схожі документи:
дії. Вбудовані стандартні математичні функції, які використовуються в Turbo Pascal. Використовуються в арифметичних. необхідного виду. Висновок по работеДополнітельние питання. комп'ютера. обмежена обліковий запис і гостьовий обліковий запис.
додаткового. вивчається. роботи. Дисциплінованість, загальна організованість. Впевненість в роботі з комп'ютером. назад. Аріфметіческіедействія. Причина неточного уявлення нецілих чисел. Примітка. Основна ціль. види алгоритмів (прямий.
біт додаткових даних M - code М-код (. запис в реляційної базі даних) t urbo прискорення работикомпьютера. зворотна операція dual operation зворотна послідовність чисел backward sequence number зворотний зв'язок feedback; запізніла зворотна.
роботу. Зокрема, ReadLn (a, b) буде чекати введення двох целихчісел. аріфметіческогодействія (+, -, *, /) і ще одне число. Комп'ютер. оператора for: Прямий рахунок: -5 -4 -3 -2 -1 0 1 2 3 4 5 Зворотний рахунок: 5. додаткові оператори. Тільки майте на увазі.
робота з рівнями інваріанта Скласти задачу Аріфметіческіедействія над числами в межах 1000 (20 год) 106 Запісьчісел.