48040 (608438), страница 2
Текст из файла (страница 2)
3. Інші системи числення
При налаштувані апаратних засобів (програм BIOS і т.д.) і написанні нових програм (особливо на мовах низького рівня типу асемблера або C) часто виникає необхідність заглянути в пам'ять машини, щоб оцінити її поточний стан. Але там все заповнено довгими послідовностями нулів і одиниць, дуже незручних для сприйняття. Крім того, природні можливості людського мислення не дозволяють оцінити швидко і точно величину числа, представленого, наприклад, комбінацією з 16 нулів і одиниць. Для полегшення сприйняття двійкового числа вирішили розбити його на групи розрядів, наприклад, по три або чотири розряди. Ця ідея виявилася вдалою, оскільки послідовність з 3 біт має 8 комбінацій, а послідовність з 4 бітів -16 комбінацій. Числа 8 і 16 - ступені двійки, тому легко знаходити відповідність між двійковими числами. Розвиваючи цю ідею, прийшли до виводу, що групи розрядів можна кодувати, скоротивши при цьому послідовність знаків. Для кодування трьох бітів (тріад) потрібно 8 цифр, і тому взяли цифри від 0 до 7 десяткової системи. Для кодування чотирьох бітів (тетрад) необхідно 16 знаків, і взяли 10 цифр десяткової системи і 6 букв латинського алфавіту: A,B,C,D,E,F. Отримані системи, що мають в основі 8 і 16, назвали відповідно вісімковою і шістнадцятковою.
Вісімкові і шістнадцяткові системи числення:
| Десяткове число | Вісімкове число | Тріада | Шістнадцяткове число | Тетрада |
| 0 | 0 | 000 000 | 0 | 0000 |
| 1 | 1 | 000 001 | 1 | 0001 |
| 2 | 2 | 000 010 | 2 | 0010 |
| 3 | 3 | 000 011 | 3 | 0011 |
| 4 | 4 | 000 100 | 4 | 0100 |
| 5 | 5 | 000 101 | 5 | 0101 |
| 6 | 6 | 000 110 | 6 | 0110 |
| 7 | 7 | 000 111 | 7 | 0111 |
| 8 | 10 | 001 000 | 8 | 1000 |
| 9 | 11 | 001 001 | 9 | 1001 |
| 10 | 12 | 001 010 | А | 1010 |
| 11 | 13 | 001 011 | В | 1011 |
| 12 | 14 | 001 100 | С | 1100 |
| 13 | 15 | 001 101 | D | 1101 |
| 14 | 16 | 001 110 | Е | 1110 |
| 15 | 17 | 001 111 | F | 1111 |
| 16 | 20 | 010 000 | 10 | 10000 |
У таблиці приведені числа в десятковій, вісімковій і шістнадцятковій системах і відповідні групи бітів в двійковій системі.
16-pазpядне двійкове число із знаковим розрядом можна представити 6-pозpядним вісімковим, причому старший байт в нім прийматиме значення лише 0 або 1. У шістнадцятковій системі таке число займе 4 розряди.
Переклад чисел з однієї системи числення в іншу:
| Двійкові числа | Вісімкові числа | Десяткові числа | Шістнадцяткові числа |
| 0,0001 | 0,04 | 0,0625 | 0,1 |
| 0,001 | 0,1 | 0,125 | 0,2 |
| 0,01 | 0,2 | 0,25 | 0,4 |
| 0,1 | 0,4 | 0,5 | 0,8 |
| 1 | 1 | 1 | 1 |
| 10 | 2 | 2 | 2 |
| 11 | 3 | 3 | 3 |
| 100 | 4 | 4 | 4 |
| 101 | 5 | 5 | 5 |
| 110 | 6 | 6 | 6 |
| 111 | 7 | 7 | 7 |
| 1000 | 10 | 8 | 8 |
| 1001 | 11 | 9 | 9 |
| 1010 | 12 | 10 | A |
| 1011 | 13 | 11 | B |
| 1100 | 14 | 12 | C |
| 1101 | 15 | 13 | D |
| 1110 | 16 | 14 | E |
| 1111 | 17 | 15 | F |
| 10000 | 20 | 16 | 10 |
Арифметичні операції над числами у вісімковій або шістнадцятковій системах проводяться по тих же правилах, що і в десятковій системі. Тільки потрібно пам’ятати, що якщо має місце перенесення, то переноситься не після 10, а після 8 або 16.
4. Числа з фіксованою і плаваючою комою
При представленні числа в двійковому коді з цифрами 0,1 в кожному розряді записуются цифри 0 або 1. Оскільки в ЕОМ «запис» числа здійснюється за допомогою технічних пристроїв, то для представлення його в такій формі необхідно розташовувати пристрої з двома надійно різними станами, яким можуть бути зіставлені значення 0 або 1. Комбінація таких пристроїв, число яких відповідає кількості розрядів записуваного числа, може бути використана для представлення чисел в ЕОМ.
Як такі пристрої, можуть бути використані трігери. Набір трігерів, предна-значенних для представлення чисел в ЕОМ, а також для виконання над ними деяких логічних перетворень, називається регістром. Зрозуміло, число розрядів, відведене для запису числа, відповідне числу трігерів, в ЕОМ завжди звичайно. Вибір кількості розрядів для представлення чисел в ЕОМ є одним з найвідповідальніших етапів конструювання обчислювальної машини і обумовлюється цілим рядом потреб, серед яких одне з найважливіших - необхідна точність обчислень.
У ЕОМ застосовуються дві основні форми представлення чисел: півлогарифмічна - з плаваючою комою і природна - з фіксованим положенням коми.
При представленні чисел з фіксованою комою положення коми фіксується у визначеному місці щодо розрядів числа і зберігається незмінним для всіх чисел, що зображаються в даній розрядній сітці. Зазвичай кома фіксується перед старшим розрядом або після молодшого. У першому випадку в розрядній сітці можуть бути представленні тільки числа, які по модулю менше 1, в другому - тільки цілі числа.
Використання представлення чисел з фіксованою комою дозволяє спростити схеми машини, підвищити її швидкодію, але представляє певні труднощі при програмуванні. В даний час представлення чисел з фіксованою комою використовується як основне тільки в мікроконтролерах.
У універсальних ЕОМ основним є представлення чисел з плаваючою комою. Широкий діапазон представлення чисел з плаваючою комою зручний для наукових і інженерних розрахунків. Для підвищення точності обчислень в багатьох ЕОМ передбачена можливість використання формату подвійної довжини, проте при цьому відбувається збільшення витрат пам'яті на зберігання даних і сповільнюються обчислення. Розглянемо докладніше ці дві формати.
Числа з фіксованою комою
Формат для чисел з комою, фіксованою перед старшим розрядом. У цьому форматі можуть бути з точністю до
представлені числа (правильні дроби) в діапазоні
Перші ЕОМ були машинами з фіксованою комою, причому кома фіксувалася перед старшим розрядом числа. В даний час, як правило, форму з фіксованою комою застосовують для представлення цілих чисел (кома фіксована після молодшого розряду).
Використовують два варіанти представлення цілих чисел: із знаком і без знаку. У послідньому випадку всі розряди розрядної сітки служать для представлення модуля числа. У ЄС ЕОМ застосовуються обидва вказані варіанти представлення цілих чисел, причому кожен з варіантів реалізується як у форматі 32-розрядного машинного слова цих машин, так і у форматі 16-розрядного півслова.
При виконанні арифметичних дій над правильними дробами можуть получитися двійкові числа, по абсолютній величині більше або рівні одиниці, що називається переповнюванням розрядної сітки. Для виключення можливості переповнювання доводиться масштабувати величини, що беруть участь в обчисленнях.
Перевага представлення чисел у формі з фіксованою комою полягає в простоті виконання арифметичних операцій.
Недоліки - в необхідності вибору масштабних коефіцієнтів і в низькій точності уявлення з малими значеннями модуля (нулі в старших розрядах модуля приводять до зменшення кількості розрядів, займаних значущою частиною модуля числа).
Числа з плаваючою комою
При використанні плаваючої коми число складається з двох частин: мантиси m, що містить значущі цифри числа, і порядку p, що показує ступінь, в який треба звести підстава числа q, щоб отримане при цьому число, помножене на мантису, давало дійсне значення числа, що представлялося:
Мантиса і порядок представляються в двійковому коді. Звичайне число дається в нормалізованому вигляді, коли його мантиса є правильним дробом, причому перша значуща цифра (одиниця) слідує безпосередньо після коми: наприклад,
де m=0,1010; p=10; q=2
Порядок вказує на дійсне положення коми в числі. Код в приведеному форматі представляє значення числа в напівлогарифмічній формі:
Точність представлення значень залежить від кількості значущих цифр мантиси. Для підвищення точності числа з плаваючою комою представляються в нормалізованій формі, при якій значення модуля мантиси лежить в межах
Ознакою нормалізованого числа служить наявність одиниці в старшому розряді модуля мантиси. У нормалізованій формі можуть бути представлені всі числа з деякого діапазону за винятком нуля.
Нормалізовані двійкові числа з плаваючою комою представляють значення модуля в діапазоні:
















