Форми зображення чисел


У цифрових пристроях використовуються дві форми зображення чисел: з фіксованою і плаваючою комою.

У попередньому параграфі розглядались лише цілі позитивні числа. Формула (1.14) дає можливість зображати двійкові числа з цілою та дробовою частиною та з фіксованою комою. Знак двійкового числа з фіксованою комою задається допоміжним розрядом, який встановлюється перед числовими. Для додатних чисел значення допоміжного розряду рівне “0”, для від’ємних – “1”.

У табл. 1.3 приводяться три варіанти кодування додатних і від’ємних чисел чотирьохрозрядним двійковим кодом.

 

Taблиця 1.3.

a3 a2 a1 a0 Знак і величина Прямий і зворотній Прямий і додатковий
+0 - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 +0 - 7 - 6 - 5 - 4 - 3 - 2 - 1 - 0 +0 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1

 

У першому варіанті, як витікає з таблиці, у кодовій двійковій послідовності мають місце додатній і від’ємний нулі, що призводить до появи проблем при виконанні арифметичних операцій.

Представлення від’ємних чисел у зворотному коді також не вирішує відміченої проблеми. Вона вирішується лише тоді, коли від’ємні числа представляються у додатковому коді, який обчислюється за формулою:

.

Рис.1.12.

 

На рис. 1.12 приведена графічна інтерпретація зображення позитивних і негативних чисел відносно нуля з використанням прямого та доповнюючого кодів. Як буде показано пізніше, така форма представлення десяткових чисел суттєво спрощує виконання арифметичних операцій.

 

Приклад 1.10. Знайти доповнюючі коди десятковим числам: 010, 1710, -12710.

Розв’язання. Знаходимо двійкові еквіваленти заданих чисел:

010 = 000000002 ; 1710 = 000100012 ; -12710 = 100000012 .

Знаходимо коди, зворотні двійковим – відповідно: 11111111; 11101110; 01111110.

Знаходимо доповнюючі коди заданих чисел: 11111111 + 1 = 1000000002 = 010 ;

11101110 + 1 = 111011112 = -1710 ; 01111110 + 1 = 011111112 = 12710.

 

Тепер пояснимо суть запису чисел з фіксованою комою. Будь-яке число в цифрових системах зберігається спеціальними пристроями пам’яті, кожен рядок якого складаються з фіксованої кількості елементів. Кома, що відділяє в числі цілу частину від дробової, займає в рядку пам’яті фіксоване положення – перед старшим розрядом або після молодшого.

 

 

 

Рис.1.13.

 

У першому випадку абсолютне значення числа менше одиниці – наприклад, 0,1101012.Якщо рядок пам’яті призначений для десяти розрядів, то число в ньому запишеться так, як показано на рис. 1.13, де крайній лівий розряд відображає знак числа, а решта – розряди модуля. Вільні молодші розряди заповнюються нулями. Оскільки в розгляданому випадку в рядку пам’яті передбачається запис лише дробової частини числа, то і результати всіх операцій повинні бути з абсолютним значенням, меншим одиниці. Виконання цієї умови забезпечується вибором відповідних масштабних коефіцієнтів, на які помножуються вихідні дані. Якщо масштабний коефіцієнт вибраний невірно, то може з’явитись переповнення розрядів і поява цілої частини, яка буде втрачена, оскільки в розрядній сітці не передбачена її поява. Все це приведе до похибки в результаті, що є недоліком такого способу.

 

 

Рис.1.14.

 

У другому випадку, коли кома фіксується після молодшого розряду, маємо справу з цілими числами. Тоді, наприклад, число 100112 в рядку пам’яті розміщується в відповідності з рис. 1.14, де лівий розряд знаковий, а слідуючі за ним справа вільні розряди заповнюються нулями. В цьому випадку величина модуля є обмеженою довжиною рядку пам’яті.

Числа з плаваючою комою передбачають зображення числа з використанням мантиси, що помножається на основу системи числення у ступені, який задається порядком. Наприклад, число 200 записується у вигляді 0,2 × 103, а число 0,000312 – як 0,312 × 10-3. Відповідно записуються і двійкові числа. Мантиса і порядок зображаються у двійковому коді, а основою є двійка. Наприклад, число 0,111 × 210 = 11.102 в десятковій системі зображається як 0,875 × 22 = 3,510 . В рядку пам’яті такі числа зберігаються у вигляді двох груп цифр: перша група – мантиса – визначає саме число, друга - порядок – місце коми в числі (рис. 1.15).

 

 

 

Рис.1.15.

 

У нульовому елементі рядка пам’яті зображається знак числа (для приведеного вище двійкового числа, що записане у рядок пам’яті - “0”). Далі задаються вісім розрядів самого числа (стовпці 1…8). Якщо воно задається меншою кількістю розрядів, то вільні елементи пам’яті справа від числа заповнюються нулями. У дев’ятому розряді зображається знак порядку, а в решті, за аналогією з мантисою, – число, що визначає порядок. При використанні такої форми запису величина числа порядку задається так, щоб перша значуща цифра мантиси не дорівнювала “0”. Така форма запису називається нормальною.

Мінімальне додатне число, що може бути записане при нормальній формі в рядку пам’яті, визначається мінімальною мантисою 0,1000..02 та максимальним від’ємним порядком 111..12. При кількості k розрядів порядку мінімальне десяткове число, що може бути записаним, визначається формулою:

. (1.15)

Максимальне число матимемо при максимальному значенні мантиси (0,111…1)2та максимальному додатному порядку (111…12) = 2k – 1, тобто

. (1.16)

Діапазон D чисел, представлених в нормальній формі, як витікає з формул (1.15) та (1.16), визначається лише числом k. Наприклад, для k = 6 знаходимо:

; .

Точність запису числа задається кількістю розрядівm мантиси. Якщо кількість розрядів числа перевершує відведену під мантису кількість розрядів, то число округляється до необхідної довжини. Правило округлення двійкових чисел в цьому випадку таке: якщо старший розряд у частині слова, що відкидається, є одиницею, то до молодшого розряду мантиси додається одиниця. При такому округленні абсолютна похибка e зображення мантиси не перевершує половини вагового коефіцієнта молодшого розряду мантиси, що зберігається, тобто:

.

Враховуючи, що при нормальній формі запису мантиса не може бути меншою 0.5, відносна похибка η:

.

Наприклад, при m = 24 маємо:

.

У сучасних цифрових системах для зображення чисел з плаваючою комою використовується рядок довжиною чотири байти. При цьому 23 розряди задають мантису, а 7 – величину порядку. Діапазон чисел, що зображуються, складає від ± 2127 до ± 2-127.

Використання чисел з плаваючою комою суттєво розширює і спрощує зображення чисел, але виконання операцій над такими числами більш складне, ніж над числами з фіксованою комою.

 



Дата добавления: 2016-09-26; просмотров: 2643;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.