Модифікований код числа
Подання чисел в комп'ютері: природна і нормальна форми. Алгебраїчне представлення двійкових чисел: прямий, зворотний і додатковий коди.
1. Природна і нормальна форми.
2. Прямий, зворотний і додатковий коди.
1. Подання чисел в комп'ютері: природна і нормальна форми.
У ЕОМ застосовуються дві форми подання чисел:
• природна форма, або форма з фіксованою комою (крапкою) - ФЗ (ФТ);
• нормальна форма, або форма з плаваючою комою (крапкою) - ПЗ (ПТ).
Фіксована кома (точка). У формі подання з фіксованою комою (крапкою) числа зображуються у вигляді послідовності цифр з постійним для всіх чисел становищем коми, що відокремлює цілу частину від дробової.
Наприклад, нехай числа представлені в десятковій системі числення і мають п'ять розрядів в цілій частині числа (до коми) і п'ять в дробової частини (після коми). Числа, записані в таку розрядну сітку, мають вигляд:
Ця форма найбільш проста, природна, але має невеликий діапазон представлення чисел і тому найчастіше неприйнятна при обчисленнях.
У комп'ютерах природна форма подання використовується як допоміжна і тільки для цілих чисел.
У пам'яті ЕОМ числа з фіксованою точкою зберігаються в трьох форматах:
а) півслова - це зазвичай 16 біт, або 2 байта;
б) слово - 32 біта, або 4 байти;
в) подвійне слово - 64 біта, або 8 байтів.
Негативні числа з ФТ записуються в розрядну сітку в додаткових кодах, які утворюються додатком одиниці до молодшого розряду зворотного коду. Зворотний код виходить заміною одиниць на нулі, а нулів на одиниці в прямому двійковому коді.
Плаваюча кома (точка). У формі подання з плаваючою комою (крапкою) число зображується у вигляді двох груп цифр:
При цьому абсолютна величина мантиси повинна бути менше 1, а порядок повинен бути цілим числом. У загальному вигляді число в формі з плаваючою комою може бути представлено так:
де М - мантиса числа (| М \ <1); r — порядок числа (целое число); Р — основание системы счисления.
Наприклад, наведені раніше числа в нормальній формі запишуться в такий спосіб:
-0,103012026 * 10 5.
Нормальна форма подання забезпечує великий діапазон відображення чисел і є основною в сучасних комп'ютерах.
Слід зауважити, що всі числа з плаваючою комою зберігаються в машині в так званому нормалізованому вигляді.
Нормалізованим називають таке число, старший розряд мантиси якого більше нуля. У нормалізованих двійкових чисел, отже, 0,5 <| М\ <1.
Нормалізовані, т. Е. Приведені до правильної дробу, числа:
У пам'яті ЕОМ числа з ПТ зберігаються в двох форматах:
• слово - 32 біта, або 4 байти;
• подвійне слово - 64 біта, або 8 байт.
Розрядна сітка для чисел з ПТ має наступну структуру:
• нульовий розряд - це знак числа (0 - «мінус», 1 - «плюс»);
• з 1 по 7 розряд записується порядок в прямому двійковому коді, порожні розряди заповнюються нулями. У першому розряді вказується знак порядку (1 - «плюс» або 0 - «мінус»);
• з 8 по 31 (63) вказується мантиса, зліва направо без нуля цілих в прямому двійковому коді і для негативних чисел і порожні розряди заповнюються нулями.
2. Алгебраїчний уявлення двійкових чисел: прямий, зворотний і додатковий коди.
При зберіганні інформації в пам'яті ЕОМ кожен вид зберігається в одному розряді пам'яті, а розряди об'єднуються в осередку пам'яті фіксованого розміру. При записи чисел з фіксованою точкою, положення точки фіксується в певному місці по відношенню до розрядів числа. При приставлення числа зі знаком для коду, виділяється знаковий розряд (зазвичай крайній зліва) «+» = 0 і «-» = 1 - кодується.
а = +0101 = 0.0101
в = -1010 = 1.1010
Прямий код числа збігається із записом позитивного числа.
Розглянемо однобайтовое уявлення двійкового числа. Нехай це буде 28 (10). У двійковому форматі - 0011100 (2) (при однобайтового форматі під величину числа відведено 7 розрядів). Двійкове число зі знаком буде виглядати так, як показано на рис. 2.1.
Мал. 2.1. Формат двійкового числа зі знаком в прямому коді
а - позитивне число; б - негативний
Додавання в прямому коді чисел, що мають однакові знаки, досить просто: числа складаються, і сумі присвоюється знак доданків. Значно більш складним є алгебраїчне додавання в прямому коді чисел з різними знаками. У цьому випадку доводиться визначати більше по модулю число, виробляти віднімання модулів і привласнювати різниці знак більшого за модулем числа. Таку операцію значно простіше виконувати, використовуючи зворотний і додатковий коди.
а = +0101 = 0.0101
Зворотний код позитивного числа збігається з прямим кодом.
в = -1010 = 1.0101
Зворотний код негативного числа утворюється так:
1. У знаковому розряді 1.
2. У цифрових розрядах 1 замінюється на 0. а 0 на 1.
Зазначені труднощі привели до того, що в сучасних ЕОМ абсолютна більшість операцій виконується в додатковому коді.
Додатковий код числа.
а = +0101 = 0.0101
Додатковий код позитивного числа збігається з прямим кодом.
Додатковий код негативного числа утворюється так:
1. У знаковому розряді 1.
2. У цифровому розряді 1 замінюється на 0. а 0 на 1.
3. До останнього розряду додається 1.
Модифікований код числа.
Відрізняється тим, що для зображення знака числа в ньому відводиться два розряду (позитивна кодування 00. негативна 11). Такі коди оказа-лись зручні (з точки зору побудови АЛУ) для виявлення переповнення раз-ряд-ної сітки. Якщо знакові розряди результату прини-ма-ють значення 00 і 11, то переповнення розрядної сітки не було, а якщо 01 або 10 - то було пере-пол-ні-ня.
а = -11001 в = +11001
1. Які дві форми подання чисел застосовуються в ЕОМ?
2. Як зображуються числа в формі з фіксованою комою (крапкою)?
3. Як зображуються числа в формі з плаваючою комою (крапкою)?
4. Що таке нормалізоване число?
5. У яких двох форматах зберігаються числа з плаваючою комою (крапкою) в пам'яті ЕОМ?
6. Наведіть приклади запису прямого коду числа для позитивних і негативних чисел.
7. Як утворюється зворотний код негативного числа?
8. Як утворюється додатковий код негативного числа?
9. Чим відрізняється модифікований код числа від інших кодів?