DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Представлення в пам’яті комп’ютера даних цілих та дійсних типів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2018
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Частина III Структури даних та алгоритми

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 1 на тему: "Представлення в пам’яті комп’ютера даних цілих та дійсних типів" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір індивідуального завдання: i1 = Рr1 = №(G) = 86 i2 = i1 * (–5) = –485 f1 = рr2 . рr3 = №(r) . №(o) = 97 . 115 f2 = f1*(–3) = –291 . 945 Мета роботи Дослідження внутрішнього представлення в пам’яті комп’ютера (ВПК) статичних даних базових типів. Постановка задачі Дослідити внутрішнє представлення в пам’яті комп’ютера даних цілих та дійсних типів. Розглянути наступні базові типи даних: int i1 , і2; float f1 , f2; Система тестів Представлення ВПК змінної i1 = 86 Додатнє число 86 типу int в пам'яті комп’ютера зберігається в прямому двійковому коді і займає 4 байти:  → 0000 0000 0000 0000 0000 0000 0101 0110 В пам’яті комп’ютера цілі числа зберігаються у зворотному порядку розміщення байт числа: 0101 0110 0000 0000 0000 0000 0000 0000 Результат в 16-ковій системі числення: 56 00 00 00. Представлення ВПК змінної i2 = -485 Від'ємне число -485 типу long int в пам'яті комп’ютера зберігається в доповняльному двійковому коді і займає 4 байти: - 48510 = - 1E516 = - 0001 1110 01012 0000 0000 0000 0000 0000 0001 1010 0101 - прямий код; 1111 1111 1111 1111 1111 1110 0001 1010 - обернений код; + 1 1111 1111 1111 1111 1111 1110 0001 1011 - доповняльний код; F F F F F E 1 B - в 16- ковій системі числення В пам’яті комп’ютера зберігається у зворотному порядку розміщення байт числа: 0001 1011 1111 1110 1111 1111 1111 1111 Результат в 16- ковій системі числення: 1B FE FF FF. Представлення ВПК змінної f1 = 97.115 Розглянемо, як в пам'яті комп’ютера зберігається додатнє число 97.115 типу float . Перевід цілої частини: 97 10 = 6116 Перевід дробової частини: 0, 115 * 16 = 1,84 0, 84 * 16 = 13,44 (1310 = D16) 0, 44 * 16 = 7,04  => 0,115 10 = 0,1D7 16   Отже: 97,115 10 = 61,1D7 16 = 0110 0001, 0001 1101 0111 2 Нормалізація: 01 , 10 0001 0001 1101 01112 * 10110 Заокруглення: 1 , 10 0001 0001 1101 0111 0000 │1 + 1 1 , 10 0001 0001 1101 0111 0000 1 Визначення мантиси: m= 10 0001 0001 1101 0111 0000 1 Визначення зміщеного порядку: е = 12710 + 610 = 133 10 = 85 16 = 1000 0101 2 Інший спосіб: 12710 = 111 1111 2 + 0110 1000 0101 2 Визначення знакового розряду: s=0 (бо число додатнє). Схема внутрішнього представлення: s  e  m  1 біт 8 біт 23 біт  Зборка за схемою: s e m  0 1000 0101 10 0001 0001 1101 0111 0000 1   В 16- ковій системі числення: 0100 0010 1100 0010 0011 1010 1110 0001 2= 42 C2 3A E1 16 В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа: 1110 0001 0011 1010 1100 0010 0100 0010 Результат в 16- ковій системі числення: E1 3A C2 42 Представлення ВПК змінної f2 = -291.945 Розглянемо, як в пам'яті комп’ютера зберігається від'ємне число -291.945 типу float . Різниця з попереднім прикладом буде полягати тільки у представленні знакового розряду. Визначення знакового розряду: s=1 (бо число від'ємне). Зборка за схемою (відміну від попереднього прикладу будемо виділяти жирним шріфтом): s e m  1 1000 0111 0010 0011 1111 0001 1110 110   В 16- ковій системі числення: 1100 0011 1001 0001 1111 1000 1111 01102 = C3 91 F8 F616 В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа: 1111 0110 1111 1000 1001 0001 1100 0011 Результат в 16- ковій системі числення: F6 F8 91 C3 Алгоритм розв’язання задачі #include<stdio.h> #include<conio.h> void main (void){ float f1, f2; int i1, i2; i1 = 86; i2 = -485; f1 = 97.115; f2 = -291.945; { unsigned char *vx=(unsigned char *)(&i1); printf("i1 = "); for (int i=0;i<sizeof(i1);i++) printf("%02X ",vx[i]); printf("\n"); } { unsigned char *vx=(unsigned char *)(&i2); printf("i2 = "); for (int i=0;i<sizeof(i2);i++) printf("%02X ",vx[i]); printf("\n"); } { unsigned char *vx=(unsigned char *)(&f1); printf("f1 = "); for (int i=0;i<sizeof(f1);i++) printf("%02X ",vx[i]); printf("\n"); } { unsigned char *vx=(unsigned char *)(&f2); printf("f2 = "); for (int i=0;i<sizeof(f2);i++) printf("%02X ",vx[i]); printf("\n"); } } Результати виконання програми  Висновки Виконуючи цю лабораторну роботу я досліджував внутрішнє представлення в пам’яті комп’ютера (ВПК) статичних даних базових типів.
Антиботан аватар за замовчуванням

03.04.2018 21:48

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!