Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Робота з системами числення, представлення чисел з фіксованою та плаваючою точкою. Загальні рекомендації до виконання завдання
Для переведення цілого десятинного числа в систему числення з основою q необхідно поетапно ділити на основу новою системи числення, поки не отримаємо остаток менше за q. Число в новій системі числення записується у вигляді залишків від ділення на кожному етапі починаючи з останнього. Наприклад, потрібно перевести число в 2-у, 8-у та 16-у систему числення: .
Для переводу десятинних дробів в систему числення з основою q необхідно послідовно помножити дріб на цю основу і виділяти цілі частини числа при кожній операції множення. Множення закінчується, коли черговий добуток стає рівним нулю або при отриманні заданого ступеню точності. Число в новій системі числення представляється в вигляді послідовності цифр цілих частин добутку. Наприклад, розглянемо переведення числа з точністю до чотирьох знаків після коми Переведення числа із системи числення з основою q в десятинну виконується по формулі (1). Наприклад: Для переводу з 2-ої в 8-у або 16-у систему числення та навпаки користуються спрощеним прийомом в зв’язку з тим, що числа 8 та 16 відповідно дорівнюють 23 та 24. Для переводу з 2-ої в 8-у (16-у) систему числення достатньо починаючи з десятинної точки цілу та дрібну частину числа розбити на тріади (тетради) і кожну тріаду (тетраду) замінити 8-й (16-й) цифрою. Переведення 8-х та 16-х чисел в 2-у систему числення здійснюється в зворотному порядку. Наприклад:
Тетрада – 4 розряди Тріада – 3 розряди
Для запису чисел в пам’ять ЕОМ використовуються стандарти переведення чисел з фіксованою та плаваючою точкою (IEEE 754). Сукупність розрядів регістру, призначених для зберігання чисел, називається розрядною сіткою машини. В розрядній сітці числа можуть представлені в природній або нормальній формі. Природна інакше називається формою представлення числа з фіксованою точкою, а нормальна – з плаваючою точкою. Форма представлення чисел з фіксованою точкою Ця форма використовується для запису цілих чисел. В залежності від типу ЕОМ ціле число може займати 1, 2, 4 байти. 1 байт – 8 біт – 8 розрядів. Форма запису цілого числа в комірку, довжиною в 1 байт:
зн – 1, якщо число < 0 0, якщо число > 0.
Від’ємні числа можуть бути представлені в прямому, зворотному і додатковому кодах. В прямому коді достатньо в знаковий розряд помістити 1. В зворотному коді всі нулі заміняються на 1, а 1 на нулі. Додатковий код також як і зворотній, але додається 1 в молодший розряд. Приклади:
Використання додаткового та зворотного коду дозволяє віднімання звести до операції додавання, а множення до операції додавання та здвигу. Від’ємні числа з фіксованою точкою в пам’яті ЕОМ записуються за допомогою додаткового коду.
Фома представлення чисел з плаваючою точкою В нормальній формі будь-яке число складається з двох груп де m – мантиса, тобто правильний дріб < 1; p – порядок числа; q – основа системи числення
В сучасних комп’ютерах, числа з плаваючою точкою представляються в двох форматах короткому – 4 байти (32 біти) та довгому – 8 байт (64 біти).
У випадку комірки довжиною 4 байти точність складає 7 десятинних значущих чисел. З використанням комірки 8 байт точність збільшується до 16 десятинних значущих розрядів. Наведемо приклад запису числа 178.125, як 4-х байтової змінної з плаваючою точкою. На першому етапі потрібно перевести задане число до двійкової системи числення (відповідно, його цілої та дробової частини). 178.125(10) = 10110010.001(2). На другому етапі необхідно його нормалізувати. Стандартом IEEE 754 передбачений наступний механізм нормалізації, за яким у цілій частині числа залишається цифра 1. Так як у двійковій системі числення, при нормалізації числа, на першому місці буде завжди залишатись 1-ця, це дає змогу зекономити 1 біт та не записувати цю одиницю до мантиси. Таким чином, цей біт використовується на розширення порядку числа, а кількість бітів мантиси зменшується на один. Отже, для запису числа з плаваючою точкою розміром в 4 байти, фактично на порядок числа використовується 7+1 = 8 біт, а на мантису 24–1 = 23 біта (але число в мантису записується розміром в 24 біта, так як 1-ця не пишеться, але має місце). При нормалізації число 10110010.001(2) буде виглядати наступним чином: 1.0110010001*27. На третьому етапі переведемо порядок числа в двійкову систему числення. Так як порядок розширюється на 1 біт – він може приймати значення від 0 до 255. Але треба врахувати від’ємний та додатній порядок. Нульове значення порядку приймається рівним 127 (27–1). Отже, від’ємний порядок – від 0 до 126, 127 – характеризує нульове значення порядку (база), від 128 до 255 – додатній порядок. В нашому випадку порядок дорівнює 7, тобто 127 + 7 = 134(10). 134(10) = 10000110(2) На останньому етапі запишемо отримане число в комірку пам’яті.
Стандарт IEEE 754 застосовується сучасними засобами програмного забезпечення низького та високого рівнів на сучасних персональних комп’ютерах. Діапазони чисел в 4-байтовій та 8-байтовій комірках: –2128< X< 2128 або –3.402823*1038 < X< 3.402823*1038 (для 4-х байтів); –21024< X< 21024 або –1.79769313486231*10308< X< 1.79769313486231*10308 (для 8-ми).
|