- •6.050101 – «Комп’ютерні науки»
- •6.050101 – «Комп’ютерні науки» Затверджено
- •1 Завдання до розрахунково-графічної роботи
- •2 Приклади виконання завдань
- •2.1 Приклад виконання завдання № 1
- •2.2 Приклад виконання завдання № 2
- •2.3 Приклад виконання завдання № 3
- •2.4 Приклад виконання завдання № 4
- •2.5 Приклад виконання завдання № 5
- •Литература
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 = 128 + 127 + 026 + 125 + 024 + 023 + 122 + 021 + 120 = 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,1FD163,
B= –0,1FD163,
C= +0,1FD161.
Запишемо числа в наведеному вище форматі числа (знак числа кодується: «+» – цифра 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 |
Виконаємо першу дію: перемножимо числа А и В. Для цього виконаємо наступні кроки:
визначимо знаковий розряд мантиси. Він має значення «–», тому що виконується множення чисел з різними знаками;
виконаємо додавання характеристик:
-
0
0
1
1
+
0
0
1
1
0
1
1
0
перемножимо мантиси:
|
|
|
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 |
| |||||||||||||||||||
запишемо результат добутку в даному форматі: першу тетраду (нульову) перенесемо в характеристику, зменшивши її на одиницю:
|
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 = – (3164 + 15163 + 4162+0161 + 10160 + 1516-1=
= – (196608 + 61440 + 1024 + 10 + 15/16) = –259082,937510.
R = –259082,937510.
Виконаємо розрахунок похибки обчислень.
Представимо вихідні числа в десятковій СЧ:
A = 0,1FD163 = 1FD16 = 1162 + 15161 + 13160 = 256+240+13 = 50910,
B = –0,1FD163 =–1FD16 = –(1162 + 15161 + 13160 = 256+240+13) = –50910,
C = 0,1FD161 = 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,9610-7.
