Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_информ_РГР_укр_2012.doc
Скачиваний:
8
Добавлен:
10.02.2016
Размер:
562 Кб
Скачать
☆

2.3 Приклад виконання завдання № 3

Завдання: Виконати завдання 2, але з модифікацією коду для знакового розряду.

Рішення: Обчислимо (K+D) у зворотному й додатковому кодах з модифікацією коду для знакового розряду:

+

K:

00.

1

1

1

1

0

0

1

0

0

D:

00.

0

0

0

0

1

1

0

0

1

R1:

00.

1

1

1

1

1

1

1

0

1

Обчислимо Pзвор=P1+(–E) у модифікованому зворотному коді:

+

P1:

00.

1

1

1

1

1

1

1

0

1

E:

11.

1

1

0

1

0

0

1

1

1

100.

1

1

0

1

0

0

1

0

0

Pзвор:

00.

1

1

0

1

0

0

1

0

1

Обчислимо Pдод=P1+(–E) у модифікованому додатковому коді:

+

P1:

00.

1

1

1

1

1

1

1

0

1

E:

11.

1

1

0

1

0

1

0

0

0

100.

1

1

0

1

0

0

1

0

1

Pдод:

00.

1

1

0

1

0

0

1

0

1

Цифри в знаковому розряді, при додаванні чисел у модифікованих кодах показують, чи відбулося переповнення розрядної сітки («10», «01» – переповнення розрядної сітки). У даному прикладі знаковий розряд «00» указує на те, що переповнення розрядної сітки не відбувається.

Виконаємо перевірку правильності обчислень:

  • у двійковій СЧ:

1101001012 = 128 + 127 + 026 + 125 + 024 + 023 + 122 + 021 + 120 = 256 + 128 + 32 +

+ 4 + 1= 42110 ;

  • у десятковій СЧ:

48410 + 2510 – 8810 = 42110.

2.4 Приклад виконання завдання № 4

Завдання: Дано три двійкових числа А, В, С у форматі із плаваючою комою. Обчислити результат операції R=AB–C. Визначити абсолютну й відносну похибки результату. Формат числа представлено на рисунку 1.1.

Рішення: Обчислимо номер варіанта Nвар = (13 mod 4) + 1 = 2.

Число

Знак числа

Характеристика

A

+

3

B

–

3

C

+

1

Обчислимо мантису:

= 052 + 222 = 25 + 484 = 509

Переведемо число 509 з «10»-ої СЧ в «2»-у:

509

2

1

254

2

0

127

2

1

63

2

1

31

2

1

15

2

1

7

2

1

3

2

1

1

50910  1111111012

Представимо числа в шістнадцятирічній СЧ:

A= +0,1FD163,

B= –0,1FD163,

C= +0,1FD161.

Запишемо числа в наведеному вище форматі числа (знак числа кодується: «+» – цифра 4, «–» – символ С):

AЕ = 431FD000E,

BЕ = C31FD000E,

CЕ = 411FD000E.

Впишемо в розрядну сітку число А:

0 7 8 31

А:

0 1 0 0

0 0 1 1

0 0 0 1

1 1 1 1

1 1 0 1

0 0 0 0

0 0 0 0

0 0 0 0

АЕ::

4

3

1

F

D

0

0

0

Впишемо в розрядну сітку число B:

0 7 8 31

В:

1 1 0 0

0 0 1 1

0 0 0 1

1 1 1 1

1 1 0 1

0 0 0 0

0 0 0 0

0 0 0 0

ВЕ::

C

3

1

F

D

0

0

0

Впишемо в розрядну сітку число C:

0 7 8 31

С:

0 1 0 0

0 0 0 1

0 0 0 1

1 1 1 1

1 1 0 1

0 0 0 0

0 0 0 0

0 0 0 0

СЕ:

4

1

1

F

D

0

0

0

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

  1. визначимо знаковий розряд мантиси. Він має значення «–», тому що виконується множення чисел з різними знаками;

  2. виконаємо додавання характеристик:

0

0

1

1

+

0

0

1

1

0

1

1

0

  1. перемножимо мантиси:

1

0

1

1

1

1

1

1

1

0

0

0

1

0

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

1

0

1

0

0

0

1

1

0

1

0

0

0

1

1

1

0

1

0

0

0

1

1

1

1

0

1

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

1

1

1

1

0

0

0

0

0

1

1

1

1

1

1

1

0

1

0

0

0

1

1

1

1

1

1

0

0

0

0

0

1

1

1

1

1

0

1

0

0

0

1

1

1

1

0

1

0

0

0

1

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

0

1

0

0

0

0

0

0

1

0

0

1

0

3

F

4

0

9

  1. запишемо результат добутку в даному форматі: першу тетраду (нульову) перенесемо в характеристику, зменшивши її на одиницю:

0 7 8 31

AB:

1 1 0 0

0 1 0 1

0 0 1 1

1 1 1 1

0 1 0 0

0 0 0 0

1 0 0 1

0 0 0 0

ABЕ:

С

5

3

F

4

0

9

0

ABЕ=C53F4090E

Виконаємо другу дію: знайдемо різницю добутку (AB) і числа С.

Спочатку вирівняємо порядки чисел. Скористаємося формулами:

, ,.

Проведемо вирівнювання порядків:

, ,,

, ,.

Оскільки –АВ – С = – (АВ +С), то виконаємо операцію додавання мантис (АВ) і С, знак чисел і результату – негативний.

0 7 8 31

AB:

1 1 0 0

0 1 0 1

0 0 1 1

1 1 1 1

0 1 0 0

0 0 0 0

1 0 0 1

0 0 0 0

+ С:

1 1 0 0

0 1 0 1

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 1

1 1 1 1

R:

1 1 0 0

0 1 0 1

0 0 1 1

1 1 1 1

0 1 0 0

0 0 0 0

1 0 1 0

1 1 1 1

RE:

С

5

3

F

4

0

A

F

Результат обчислень: RE = C53F40AF.

Отриманий результат переведемо в десяткову СЧ:

–(0,3F40AF)  165 =–3F40A,F16 = – (3164 + 15163 + 4162+0161 + 10160 + 1516-1=

= – (196608 + 61440 + 1024 + 10 + 15/16) = –259082,937510.

R = –259082,937510.

Виконаємо розрахунок похибки обчислень.

Представимо вихідні числа в десятковій СЧ:

A = 0,1FD163 = 1FD16 = 1162 + 15161 + 13160 = 256+240+13 = 50910,

B = –0,1FD163 =–1FD16 = –(1162 + 15161 + 13160 = 256+240+13) = –50910,

C = 0,1FD161 = 1,FD16 = 1+15/16+13/256 = 1,9375 + 0,0507812 = 1,9882810.

Обчислимо результат у десятковій СЧ:

[R]=509  (–509) – 1,98828 = –259082,9882810.

Визначимо абсолютну похибку обчислень:

= –259082,9375 – (–259082,98828)= 0,05078.

Визначимо відносну похибку обчислень:

1,9610-7.