МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Кафедра ЕОМ
Лабораторна робота №1
"Представлення в пам’яті комп’ютера
цілих та дійсних типів даних"
МЕТА РОБОТИ
Дослідження внутрішнього представлення в пам’яті комп’ютера базових типів даних статичної структури.
Постановка задачі
І. Дослідити внутрішнє представлення в пам’яті комп’ютера цілих та дійсних типів даних.
Int i1=75
Додатнє число 75 типу int в пам'яті комп’ютера зберігається в прямому двійковому коді і займає 4 байти: 7510=4B16=10010112 0000 0000 0000 0000 0000 0000 0100 1101
В пам’яті комп’ютера цілі числа зберігаються у зворотному порядку розміщення байт числа:
0100 1101 0000 0000 0000 0000 0000 0000
Результат в 16-ковій системі числення: 4D 00 00 00.
Int i2= -385
Від'ємне число -385 типу long int в пам'яті комп’ютера зберігається в доповняльному двійковому коді і займає 4 байти: - 38510 = - 18116 = - 0001 1000 00012
0000 0000 0000 0000 0000 0001 1000 0001 - прямий код;
1111 1111 1111 1111 1111 1110 0111 1110 - обернений код;
+ 1
1111 1111 1111 1111 1111 1110 0111 1111 - доповняльний код;
F F F F F E 7 F - в 16- ковій системі числення
В пам’яті комп’ютера зберігається у зворотному порядку розміщення байт числа:
0111 1111 1111 1110 1111 1111 1111 1111
Результат в 16- ковій системі числення: 7F FE FF FF
Float f1=97.11710
Перевід цілої частини:
97\16=6(залишок 1)
9710=6116
Перевід дробової частини
0,117*16=1,872
0,872*16=13,952
0,952*16=15,232
0,232*16=3,712
0,712*16=11,392
0,11710=1DF3B16
97.11710=61,1DF3B 16=0101 0001, 0001 1101 1111 0011 10112
Нормалізація: 1,01 0001 0001 1101 1111 0011 10112 * 100110
Заокруглення:
1, 01 0001 0001 1101 1111 0011 1 | 11
+ 1
1, 01 0001 0001 1101 1111 0011 1
Визначення мантиси: m= 01 0001 0001 1101 1111 0011 1
Визначення зміщеного порядку: е = 12710 + 610 = 13310 = 85 16 = 1000 0101 2
Визначення знакового розряду: s=0 (бо число додатнє).
Зборка за схемою:
s
e
M
0
1000 0101
01 0001 0001 1101 1111 0011 1
В 16- ковій системі числення: 0100 0010 1010 0010 0011 1011 1110 0111
В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа:
1110 0111 0011 1011 1010 0010 0100 0010
E7 3B A2 42
Результат в 16- ковій системі числення: E7 3B A2 42
Float f2= -194,234
Перевід цілої частини:
194\16=12(залишок 2)
19410=C216
Перевід дробової частини:
0,234*16=3,744
0,744*16=11,904
0,904*16=14,464
0,464*16=7,424
-194, 23410= -C2,3BE716=1100 0010, 0011 1011 1110 01112
Нормалізація: 1.100 0010 0011 1011 1110 01112 * 100111
Визначення зміщеного порядку: е = 12710 + 710 = 13410 = 86 16 = 1000 0110 2
Визначення знакового розряду: s=1 (бо число від`эмне).
S
e
m
1
1000 0110
100 0010 0011 1011 1110 0111
В 16-й системі числення:1100 0011 0100 0010 0011 1011 1110 0111
В пам’яті комп’ютера
1110 0111 0011 1011 0100 0010 1100 0011
E7 3B 42 C2
5. PЕЗУЛЬТАТ ВИКОНАННЯ ПРОГРАМИ :
/
ВИСНОВКИ
На цій лабораторній роботі я дослідив внутрішнє представлення в пам’яті комп’ютера базових типів даних статичної структури. Виконуючи цю лабораторну роботу, я зрозумів як представлені числа пам’яті комп’ютера: в знакових типах лівий біт використовується для зберігання знака числа (0 – плюс, 1 – мінус). Решта бітів містять числове значення. В беззнакових типах всі біти використаються для числового значення. За замовчуванням всі цілочисельні типи вважаються знаковими. Важливим для мене було те, що в пам’яті комп’ютера цілі числа зберігаються у зворотному порядку розміщення байт числа.
ДОДАТКИ
Текст набраної мною програми :
#include<stdio.h>
#include<conio.h>
//using namespace std;
int main (void)
{
//представлення числа і1;
int i1=77;
unsigned char *vi1=(unsigned char *)(&i1);...