Для переведення цілого десятинного числа в систему числення з основою 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 в молодший розряд.
Приклади:
+5 |
-5 | Прямий код |
-5 | Зворотний код |
-5 | Додатковий код |
Використання додаткового та зворотного коду дозволяє віднімання звести до операції додавання, а множення до операції додавання та здвигу. Від’ємні числа з фіксованою точкою в пам’яті ЕОМ записуються за допомогою додаткового коду.
Фома представлення чисел з плаваючою точкою
В нормальній формі будь-яке число складається з двох груп
де 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-ми).