Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ukr1_PTTsA_kl_ch1_10-02-2010.doc
Скачиваний:
113
Добавлен:
07.02.2016
Размер:
3 Мб
Скачать

5.3 Погрішності представлення чисел

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

5.3.1 Абсолютна похибка представлення чиселn

Абсолютна похибка представлення чисел N називається різниця між дійсним значенням числаNіта його значеннямNm, отриманим після машинного відображення, операцій АЛП.

Приклад: двійкове число +11,00111000111 приn=15 іKФ=2k, k=6,тодіNm = 0\000011,001110001 [останні два розряди 11втрачені]. Перевівши в десяткові числа, отримаємо:

N =11,00111000111 (+3,2221678);

Nm =0\000011,001110001 (+3,2207031);

N =NNm = +3,2221678– (+3,2207031)= +0,0014647.

Правило. Максимальна похибка N для чисел формату з фіксованою комою не перевищує одиниці молодшого розряду сітки:

,

де n  розрядність автомата;

k  степінь масштабного коефіцієнта КФ;

Nmзначення машинного числа в двійковій системі після його переводу (тобто зN в Nm).

5.3.2 Відносна похибка представлення числаn

Відносна похибка представлення числа N. Це відношення абсолютної погрішностіNдо числаNв процентному відношенні, тобто: .

Зазвичай Nвизначається математично після виконання арифметичних операцій в десятковій системі.

Після визначення абсолютної погрішності визначаємо відносну похибку в %. Приклад: з попереднього рішення N=0,0014647, тоді

6 Бінарна (двійкова) арифметика

У арифметиці будь-якого типу беруть участь завжди два або більше чисел. Як результат виконання арифметичних операцій з’являється нове число. Формально це можна представити у вигляді:

, (6.1)

де  знак будь-якої арифметичної дії з чотирьох: складання, віднімання, множення, ділення.

Будь-яке з чиселА, B0, B1, Bnє операндами, тобто числами, що беруть участь в арифметичних операціях, які виконуються ЦА.

Необхідно звернути увагу на те, що у виразі 6.1 опущено індекс mмашинне число. Але всі операнди і результатСє машинними числами.Правила виконання арифметичних операцій на рівні розрядів операндів:

,

,

,

де n  розрядна сітка автомата.

Алгоритми виконання арифметичних операцій в системі числення з основою q аналогічні алгоритмам в десятковій системі числення.

Результат виконання операції  цифраi та bi в i-мрозряді представляється двома цифрами: цифроюCiрезультатом відповідної операції в даному розряді та цифроюПiперенесенням в старший розряд або позики зі старшого розряду (при відніманні).

Результат Ci і перенесенняПi формуються за наступними правилами:

Додавання:

Віднімання:

Множення:

Виконання операції не може бути зведене до операції над окремими цифрами розрядів. Тому ділення виконується по аналогії з діленням в десятковій системі.

Двійковий напівсуматор (HS) пристрій, що виконує арифметичну дію складання без урахування переносу Пi з попереднього розряду,тобто на його вхід подаються тільки числа розрядівai та bi без переносу Пi (наприклад, наймолодші розряди операндів А і В).

Рисунок 6.1 Двійковий напівсуматор

Правила складання напівсуматора можна представити у вигляді таблиці 6.1, що має назву таблиця істинності (ТІ).

Таблиця 6.1 Напівсуматор

ai

bi

ci

Пi

0

0

1

1

0

1

0

1

0

1

1

0

0

0

0

1

Тут порозрядне складання виконується за формулою:

ai + bi = Ci + Пi ,

де аi, bi  розряди чисел А, В;

Ci  сума і-го розряду;

Пi  перенос у наступнийрозряд.

Але не враховувати переносів при складанні багаторозрядних чисел не можна. Тому, при складанні користуються пристроєм, що має назву двійковий суматор. Це пристрій, що виконує арифметичні дії складання з урахуваннямпереносу (Пi-1). від попереднього розряду і передачіпереносу (Пi). в наступний розряд. Його робота і структурна схема була розглянута в розділі 3 (рис. 3.3).

ТІ двійкового суматора представлена в таблиці 6.2.

Таблиця 6.2 Суматор

ai

bi

П(i-1)

Ci

Пi

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

0

0

0

1

1

1

1

0

1

1

0

1

0

0

1

0

0

0

1

0

1

1

1

Тут порозрядне складання виконується за формулою:

ai+bi+Пi-1=Ci+Пi,

де аi, bi  розряди чисел А, В;

Ci  сума і-го розряду;

Пi-1  перенос зпопереднього розряду;

Пi  перенос у наступний розряд.

При виконанні арифметичної операціївіднімання в двійковій системі числення (в десятковійаналогічно), нерідко проводиться позика, рівно-сильна відніманню одиниці зі старшого розряду. Запозичення зі старшого розряду еквівалентно додаванню до молодшого розряду величини основи.

Крім того, цю позику необхідно враховувати при відніманні цифр наступного старшого розряду (тобто чи була позика в молодшому розряді). З урахуванням цього, і пам’ятаючи, що від’ємник завжди повинен бути менше зменшуваного можна представити правила у вигляді таблиці 6.3.

Таблиця 6.3 – Від’ємник бінарних чисел

ai

bi

Zi

Ci

Z(i+1)

0

1

1

0

0

1

1

0

0

0

1

1

0

0

1

1

0

0

0

0

-1

-1

-1

-1

0

1

0

1

1

0

1

0

0

0

0

-1

-1

0

-1

-1

Порозрядне віднімання виконується за формулою:

аibi + Zi = Ci + Zi+1,

де ai,bi– операнди розряду;

Ci – різниця розряду;

Zi – позика із молодшогоі-го розряду;

Zi+1 – позика у старшого розряду.

Порівняння даних табл. 6.2 і 6.3 свідчать про те, що при відніманні операнду ВвідАпорозрядно АЛП повинен мати додаткові розряди для зберігання знаку «–» дляZi,Z(i+1)що ускладнює схему АЛП (при тому щоai,biіСмають знак «+»). Тому перевагу надано двійковому суматору.

Розглянемо приклади на складання і віднімання для чисел з фіксованою комою (ФФК). Оперуватимемо з шестизначними, позитивними числами за модулем менше одиниці.

Приклади: а) виконати операцію складання бінарних чисел +Аі +В(двох операндівАіВ):

б) виконати операцію віднімання бінарних чисел +СіD(двох операндівСіD):

в) віднімання в 8-ій системі: г) віднімання в 3-ій системі:

д) виконати операцію множення бінарних чисел +Еі +F:

е) виконати ділення бінарних чисел +Gі +H(у вигляді неправильного дробу +Gі цілого числа +H):

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

Одним із способів виконання операцій за допомогою двійкового суматора, є заміна операції віднімання операцією суми із оберненим або доповняльним кодом негативного числа:

А–В= А +(В)=А+В*.

Заміна віднімання складанням ставить проблему представлення негативного числа в цифровому форматі. Це може бути вирішєно, наприклад, за допомогою використання властивості циклічностічисел при їх переліку, рахунку, зображенні (два,три, …,дванадцять,тринадцять…).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]