Робота з системами числення, представлення чисел з фіксованою та плаваючою точкою. Загальні рекомендації до виконання завдання 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Робота з системами числення, представлення чисел з фіксованою та плаваючою точкою. Загальні рекомендації до виконання завдання



Для переведення цілого десятинного числа в систему числення з основою q необхідно поетапно ділити на основу новою системи числення, поки не отримаємо остаток менше за q. Число в новій системі числення записується у вигляді залишків від ділення на кожному етапі починаючи з останнього.

Наприклад, потрібно перевести число в 2-у, 8-у та 16-у систему числення:

.

 

Для переводу десятинних дробів в систему числення з основою q необхідно послідовно помножити дріб на цю основу і виділяти цілі частини числа при кожній операції множення. Множення закінчується, коли черговий добуток стає рівним нулю або при отриманні заданого ступеню точності.

Число в новій системі числення представляється в вигляді послідовності цифр цілих частин добутку.

Наприклад, розглянемо переведення числа з точністю до чотирьох знаків після коми

Переведення числа із системи числення з основою q в десятинну виконується по формулі (1). Наприклад:

Для переводу з 2-ої в 8-у або 16-у систему числення та навпаки користуються спрощеним прийомом в зв’язку з тим, що числа 8 та 16 відповідно дорівнюють 23 та 24. Для переводу з 2-ої в 8-у (16-у) систему числення достатньо починаючи з десятинної точки цілу та дрібну частину числа розбити на тріади (тетради) і кожну тріаду (тетраду) замінити 8-й (16-й) цифрою. Переведення 8-х та 16-х чисел в 2-у систему числення здійснюється в зворотному порядку.

Наприклад:

 
 
(2)


(8)

 

Тетрада – 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-ми).

 



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 304; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.174.248 (0.011 с.)