Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСАК МІЙ()()().doc
Скачиваний:
7
Добавлен:
09.12.2018
Размер:
249.86 Кб
Скачать

3.2.5 Об’єднання

union un4 {

char a[14];

struct {

short d[5];

unsigned b;

float e;

};

int c;

} un;

un.e =44 171;

un.c = 118 800;

un.a[0] = ‘2’

un.a[1] = ‘8’

un.a[2] = ‘6’

un.a[3] = ‘4’

un.a[4] = ‘7’

Представлення кожної змінної об’єднання в пам’яті комп’ютера:

  1. char a[8]

un.a[0] = ‘2’= 3216

un.a[1] = ‘8’= 3816

un.a[2] = ‘6’= 3616

un.a[3] = ‘4’= 3416

un.a[4] = ‘7’= 3716

Отже, масив у пам’яті комп’ютера виглядатиме:

ВПК :32 38 36 34 3716

  1. int c = 118 80010 = 1 D0 1016 = 0001 1101 0000 0001 00002

В пам’яті комп’ютера змінна займає 2 байти: D0 1016 тільки у зворотньому порядку.

ВПК : 10 D016

  1. Представлення дійсної змінної типу float : un.e =44 17110;

Назва

типу

Іденти-фікатор

Діапазон значень

Внутрішній формат:

s–знак,e–експонента,m–мантиса

Значення числа

Розмір пам’яті в байтах

Дійсне одинарної точності

float

від 3.410-38

до 3.41038

1 біт 8 біт 23 біта

s

e

m

(-1)S1,m2e -127

4

Перевід цілої частини:

44 17110 =>AC 8B16

Нормалізація:

1010 1100 1000 10112

1.010 1100 1000 10112

Визначення мантиси: m=010 1100 1000 10112

Визначення зміщеного порядку: е = 12710 + 1510 = 14210 = 8E16 = 1000 11102

Визначення знакового розряду: s=0 (бо число додатнє).

Схема внутрішнього представлення:

Зборка за схемою:

s

E

M

0

1000 1110

010 1100 1000 1011 0000 0000

0100 0111 0010 1100 1000 1011 0000 0000

В 16- ковій системі числення:

47 2C 8B 00

В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа:

00 8B 2C 47

Найдовший елемент даного об’єднання:

struct {

short d[5];

unsigned b;

float e;

}

Загальною довжиною в 20 байт, тобто об’єднання займає 20 байт в памяті комп’ютера.

Початкові данні об’єднання:

CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC СС CC CC CC CC

Перше присвоєння:

xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 00 8B 2C 47

Результат:

CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 8B 2C 47

Друге присвоєння:

D0 10

Результат:

D0 10 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 00 8B 2C 47

Третє присвоєння:

32 38 36 34 37

Результат:

32 38 36 34 37 CC CC CC CC CC CC CC CC CC CC CC 00 8B 2C 47

Відповідь : ВПК :

32 38 36 34 37 CC CC CC CC CC CC CC CC CC CC CC 00 8B 2C 47

        1. Результати виконання програми

        1. Висновки

Виконуючи цю розрахункову роботу я повторив, як визначити внутрішнє представлення цілих, дійсних, логічних та символьних чисел в пам’яті комп’ютера. Також я довідався багато нового про представлення в пам’яті комп’ютера рядків символів, перерахувань, масивів, структур та об’єднань.