You are on page 1of 9

ЛАБОРАТОРНА РОБОТА № 3

ВНУТРІШНЄ ПРЕДСАВЛЕННЯ ДІЙСНИХ ДАНИХ


Мета: ознайомитися з дійсними числами; розглянути алгоритм переведення
дійсних чисел з десяткової в двійкову системи числення і їх представлення в
нормалізованому вигляді.
Хід роботи:
Завдання 1: Для заданих чисел виконати перетворення у
внутрішній(машинний) формат подання чисел в пам’яті комп’ютера за умови,
що числа є знаковими. Для збереження чисел використовується 32 біти.
(таблиця 1.1)
4 ±4486,00 ±0,00233 ±4486,00233

1.1 Переводимо число +4486,00 в двійкову систему числення:


+4486,0010=10001100001102
а) Нормалізуємо мантису:
1000110000110=1,000110000110*212
б) Розраховуємо характеристику:
Характеристика= Зміщення +Порядок;
Порядок=12, зміщення для 32 біт = 7F.
Характеристика = 7F16+С16=11111112+11002=100010112

S Характеристика Нормалізована мантиса


0 10001011 00011000011000000000000
в) Отримане число в шістнадцятковій системі числення:
0100 0101 1000 1100 0011 0000 0000 00002=458C300016;
г) Для числа -4486,00
S Характеристика Нормалізована мантиса
1 10001011 00011000011000000000000
д) Отримане число в шістнадцятковій системі числення:
101 1000 1100 0011 0000 0000 00002=С58C300016;

1.2 Переводимо число +0,00233 в двійкову систему числення:



Біт Мантиса(Dec) Множник
біта

0,00233
1 0 0,00466
2 0 0,00932
3 0 0,01864
4 0 0,03728
5 0 0,07456
6 0 0,14912
7 0 0,29824
8 0 0,59648
9 1 0,19296
10 0 0,38592
11 0 0,77184
2
12 1 0,54368
13 1 0,08736
14 0 0,17472 а) нормалізуємо мантису:
15 0 0,34944 0,000000010011…=1,0011…
16 0 0,69888 *2-9
17 1 0,39776 б) Характеристика=
18 0 0,79552 Зміщення +Порядок;
19 1 0,59104 Порядок=-9, зміщення для 32
20 1 0,18208 біт- 7F.
21 0 0,36416 Характеристика=7F16-916=11111112-10012=
22 0 0,72832 011101102
23 1 0,45664
S 24 0 Характеристика
0,91328 Нормалізована мантиса
25 1 0,82656
0 26 01110110
1 0,65312 0011 0001 0110 0101 1101 001
0 27 1 0,30624 011 1011 0001 1000 1011
28 0 0,61248
0010 29 1 0,22496 1110 1001=3B18B2E9
30 0 0,44992 в) Для числа -0,00233
31 0 0,89984
S 32 1 Характеристика
0,79968 Нормалізована мантиса
1 33 1 01100,59936
0111 0011 0001 0110 0101 1101 001
34 1 0,19872
1011 35 0 0,39744 1011 0001 1000 1011 0010
36 0 0,79488 1110 1001=BB18B2E9
37 1 0,58976
38 1 0,17952
39 0 0,35904
40 0 0,71808
41 1 0,43616
42 0 0,87232
43 1 0,74464
44 1 0,48928
1.3 Переводимо число +4486,00233 в двійкову систему числення:
а) переводимо цілу частину +448610=10001100001102

б) переводимо дробову частину +0,0023310= 0,00000000100110001


в) нормалізуємо мантису =1000110000110,000000000
1001100012=1,0001100001100000000001001100012*212
г) Характеристика= Зміщення +Порядок
Порядок=12, зміщення для 32 біт- 7F.
Характеристика=7F16+С16=11111112+11002=100010112
S Характеристика Нормалізована
мантиса
0 100 0101 1 0001 1000 0110 0000
0000 100
0100 0101 1000 1100 0011 0000 0000 0100=458C3004
д) Для числа -4486,00233
S Характеристика Нормалізована
мантиса
1 100 0101 1 0001 1000 0110 0000
0000 100
1100 0101 1000 1100 0011 0000 0000 0100=С58C3004

Завдання 2: Для заданих чисел виконати перетворення у


внутрішній(машинний) формат подання чисел в пам’яті комп’ютера за
умови, що числа є знаковими. Для збереження чисел використовується 64
біти. (таблиця 1.2)
2.1 Переводимо число +4486 в двійкову систему числення за
допомогою ділення на основу системи числення, тобто 2.
+4486,0010=1000110000110
Оскільки, дробова частина відсутня, то переведення не виконуємо.
а) Нормалізуємо мантису:
1000110000110=1,000110000110*212
б) Характеристика = Зміщення + Порядок
Порядок =12 , зміщення для 64 біт – 3FF
Х-ка = 3FF16 +C 16=11111111112+11002= 100000010112

S Характеристика Нормалізована мантиса


0 10000001011 00011000011000000000000000000000000000000
00000000000
0100 0000 1011 0001 1000 0110 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000=40B186000000000016

в) Для числа -4486,00


S Характерист Нормалізована мантиса
ика
1 10000001011 00011000011000000000000000000000000000000000
00000000
1100 0000 1011 0001 1000 0110 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000=C0B186000000000016

2.2 Переводимо число +0,00233 в двійкову систему числення:


0,00233 = 0000 0000 1001 1000 1011 0010 1110 1001 1100 1100 1011
0111 1101 0100 0001 0111
а) нормалізуємо мантису:
0,000000010011…=1,0011…*2-9
б) Характеристика= Зміщення +Порядок;
Порядок=-9, зміщення для 32 біт- 7F.
Характеристика=3FF16-916=11111111112-10012= 11 1111 01102

S Характеристика Нормалізована мантиса


0 011 1111 0110 0011 0001 0110 0101 1101
0011 1001 1001 0110 1111
1010 1000 0010
0011 1111 0110 0011 0001 0110 0101 1101 0011 1001 1001 0110 1111
1010 1000 0010 = 3F63165D3996FA82

в) Для числа -0,00233

S Характеристика Нормалізована мантиса


1 011 1111 0110 0011 0001 0110 0101 1101
0011 1001 1001 0110 1111
1010 1000 0010

1011 1111 0110 0011 0001 0110 0101 1101 0011 1001 1001 0110 1111
1010 1000 0010 = BF63165D3996FA82

2.3 Переводимо число +4486,00233 в двійкову систему числення:


а) переводимо цілу частину +448610=10001100001102
б) переводимо дробову частину +0,0023310=0,0000000010011000
101100101110100111001100101101111101010000010000
в) нормалізуємо мантису =
1000110000110, 0000000010011000
1011001011101001110011001011011111010100000100002=
1,0001100001100000000010011000
101100101110100111001100101101111101010000010000*212
Характеристика = Зміщення + Порядок
Порядок =12, зміщення для 64 біт – 3FF
Х-ка = 3FF16 +C 16=11111111112+11002= 100000010112

S Характеристика Нормалізована мантиса


0 10000001011 0001 1000 0110 0000 0000
1001 1000 1011 0010 1110
1001 1100 1100 1011 0111
1101 0100 0001 0000
0100 0000 1011 0001 1000 0110 0000 0000 1001 1000 1011 0010 1110 1001
1100 1100= 40B1860098B2E9CC;
д) Для числа -4486,00233
S Характеристика Нормалізована мантиса
1 1000 0001 011 0001 1000 0110 0000 0000
1001 1000 1011 0010 1110
1001 1100 1100 1011 0111
1101 0100 0001 0000
1100 0000 1011 0001 1000 0110 0000 0000 1001 1000 1011 0010 1110 1001
1100 1100 = C0B1860098B2E9CC
Завдання 3: Для заданих чисел (табл.3.1) виконати перетворення у
внутрішній(машинний) формат подання чисел в пам’яті комп’ютера за умови,
що числа є знаковими. Для збереження чисел використовується 80 біт
(таблиця 1.3)
3.1 Переводимо число +4486,00 в двійкову систему числення за
допомогою ділення на основу системи числення, тобто 2.

а) +4486,0010=10001100001102
Оскільки, дробова частина відсутня, то переведення не виконуємо.

б) Нормалізуємо мантису:
1000110000110,00=1,000110000110*212
в) Характеристика = Зміщення + Порядок
Порядок =12, зміщення для 80 біт – 3FFF
Х-ка = 3FFF16 +C 16=11111111111111+1100=10000 00000 010112
S Характеристика Нормалізована мантиса
0 10000 00000 010111000 1100 0011 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000
0100 0000 0000 1011 1000 1100 0011 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 = 400B8C30000000000000;
г) Для числа -4486,00
S Характеристика Нормалізована мантиса
1 10000 00000 010111000 1100 0011 0000 0000
0000 0000 0000 0000 0000
0000 0000 0000 0000 0000
0000
1100 0000 0000 1011 1000 1100 0011 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 = С00B8C30000000000000;

3.2 Переводимо число +0,00233 в двійкову систему числення:


0,00233 = 0000 0000 1 001 1000 1011 0010 1110 1001 1100 1100 1011
0111 1101 0100 0001 0000
а) нормалізуємо мантису:
0,000000010011…=1,0011…*2-9
б) Характеристика= Зміщення +Порядок;
Порядок=-9, зміщення для 80 біт – 3FFF

Х-ка = 3FFF16 -9 16=11111111111111-1001=011 1111 1111 01102


S Характеристика Нормалізована мантиса
0 011 1111 1111 0110
1001 1000 1011 0010 1110
1001 1100 1100 1011 0111
1101 0100 0001 0111 0100
0011
0011 1111 1111 0110 1001 1000 1011 0010 1110 1001 1100 1100 1011
0111 1101 0100 0001 0111 0100 0011= 3FF698B2E9CCB7D41743;
в) Для числа -0,00233
S Характеристика Нормалізована мантиса
1 011 1111 1111 0110 1001 1000 1011 0010 1110
1001 1100 1100 1011 0111
1101 0100 0001 0111 0100
0011
1011 1111 1111 0110 1001 1000 1011 0010 1110 1001 1100 1100 1011
0111 1101 0100 0001 0111 0100 0011= BFF698B2E9CCB7D41743;

3.3Переводимо число +4486,00233 в двійкову систему числення:


а) переводимо цілу частину +448610=10001100001102
б) переводимо дробову частину +0,0023310=0,0000000010011000
101100101110100111001100101101111101010000010000
в) нормалізуємо мантису =
1000110000110, 0000000010011000
1011001011101001110011001011011111010100000100002=
1,0001100001100000000010011000
101100101110100111001100101101111101010000010000*212
г)Характеристика = Зміщення + Порядок
Порядок =12, зміщення для 64 біт – 3FF
Х-ка = 3FF16 +C 16=11111111112+11002= 100000010112

S Характеристика Нормалізована мантиса


0 10000 00000 01011 1000 1100 0011 0000 0000
0100 1100 0101 1001 0111
0100 1110 0110 0101 1011
1110

0100 0000 0000 1011 1000 1100 0011 0000 0000 0100 1100 0101 1001
0111 0100 1110 0110 0101 1011 1110 = 400B8C3004C5974E65BE;
д) Для числа -4486,00233
S Характеристика Нормалізована мантиса
1 10000 00000 01011 1000 1100 0011 0000 0000
0100 1100 0101 1001 0111
0100 1110 0110 0101 1011
1110
1100 0000 0000 1011 1000 1100 0011 0000 0000 0100 1100 0101 1001
0111 0100 1110 0110 0101 1011 1110 = C00B8C3004C5974E65BE;
Завдання 4: Для отриманих результатів в завданні 1-3 здійснити перевірку
за допомогою turbo assembler.
Лістинг програми:
.MODEL tiny
.DATA
;---------- float (DWord)
f dd 4486.
dd -4486.
dd 0.00233
dd -0.00233
dd 4486.00233
dd -4486.00233
;---------- double (QWord)
d dQ 4486.
dQ -4486.
dQ 0.00233
dQ -0.00233
dQ 4486.00233
dQ -4486.00233
;---------- long double
t dT 4486.
dT -4486.
dT 0.00233
dT -0.00233
dT 4486.00233
dT -4486.00233
END
Результат виконання програми:
Рис.1 Результат виконання програми

Висновок: в ході лабораторної роботи було ознайомлено з дійсними


числами; розглянуто алгоритм переведення дійсних чисел з десяткової в
двійкову системи числення і їх представлення в нормалізованому вигляді.

You might also like