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

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

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

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

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

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

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 1 на тему: "Представлення в пам’яті комп’ютера даних цілих та дійсних типів" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір індивідуального завдання: i1 = Рr1 = №(С) = 67 i2 = i1 * (–5) = –335 f1 = рr2 .рr3 = №(h) . №(a) = 97 . 104 f2 = f1*(–3) = –291,312 Вибір індивідуального завдання: i1 = Рr1 = №(F) = 70 i2 = i1 * (–5) = –350 f1 = рr2 .рr3 = №(r) . №(r) = 114 . 101 f2 = f1*(–3) = –342,303 Мета роботи: Дослідження внутрішнього представлення в пам’яті комп’ютера(ВПК) статичних даних базових типів. Постановка задачі: Дослідити внутрішнє представлення в пам’яті комп’ютера даних цілих та дійсних типів. Розглянутинаступнібазовітипи даних: inti1,і2; floatf1 , f2; Система тестів: Представлення ВПК змінної i1 = 67 Додатнє число 67 типу int в пам'яті комп’ютера зберігається в прямому двійковому коді і займає 4 байти:  → 0000 0000 0000 0000 0000 0000 0100 0110 В пам’ятікомп’ютерацілі числа зберігаються у зворотному порядку розміщення байт числа: 0110 0010 0000 0000 0000 0000 0000 0000 Результат в 16-ковій системічислення: 46 00 00 00. Представлення ВПК змінної i2 = -350 Від'ємне число -350 типу longint в пам'яті комп’ютера зберігається в доповняльному двійковому коді і займає 4 байти: -35010 = - 15E16 = - 1010111102 0000 0000 0000 0000 0000 0001 0101 1110 - прямий код; 1111 1111 1111 1111 1111 1110 1010 0001 - обернений код; + 1 1111 1111 1111 1111 1111 1110 1010 0010 - доповняльний код; F F F F F E A 2 - в 16- ковій системі числення В пам’ятікомп’ютеразберігається у зворотному порядку розміщення байт числа: 1010 0100 0111 1111 1111 1111 1111 1111 Результат в 16- ковій системі числення: A2 FE FF FF. Представлення ВПК змінної f1 = 114 . 101 Розглянемо, як в пам'яті комп’ютера зберігається додатнє число 114. 101 типу float. Перевід цілої частини: 11410= 07216 Перевід дробової частини: 0.101*16 = 1.616 ( 1) 0.616*16 = 9.856 ( 9) 0.856*16 = 13.696 (13) 0.696*16 = 11.136 ( 11)  =>0, 10110= 0, 19DB16   Отже114 . 10110=72, 19DB 16=0111 0010, 0001 1001 1101 10112 Нормалізація: 01,11 0010 0001 1001 1101 10112*10110 Визначеннямантиси: m=0 Визначеннязміщеногопорядку: е = 12710 + 610= 13310= 8516= 100001012 Інший спосіб: 12710= 111 1111 2 + 0110 1000 01012 Визначення знакового розряду: s=0 (бо число додатнє). Схема внутрішньогопредставлення: s  e  m  1 біт 8 біт 23біт  Зборка за схемою: s e m  0 100 0010 1 110 0100 0011 0011 1011 0110   В 16- ковійсистемічислення: 0100 0010 1110 0100 0011 0011 1011 01102= 42E433B616 В пам’ятікомп’ютера буде зберігатися у зворотному порядкурозміщення байт числа: 0110 1011 0011 0011 0100 110 0010 0100 Результат в 16- ковійсистемічислення: B6 33 E4 42 Представлення ВПК змінної f2 = -–342,303 Розглянемо, як в пам'яті комп’ютера зберігається від'ємне число –342,303типу float. Перевідцілоїчастини: 34210=  15616 Перевіддробовоїчастини: 0.303*16 = 4.848 (4) 0.848*16 = 13.568 (13) 0.568*16 = 9.088 (9) 0.087999999999999*16 = 1.408 ( 1)  =>0,30310= 0, 4D9116   Отже: -342,30310=156, 4D9116= -0001 0101 0110, 0100 1101 1001 00012 Нормалізація: 0001 , 0101 0110 0100 1101 1001 00012*101000 Заокруглення: 0101 0110 0100 1101 1001 001 Визначеннямантиси: m=0101 0110 0100 1101 1001 000 Визначеннязміщеногопорядку: е = 12710 + 810= 13510= 8716= 100001112 Інший спосіб: 12710= 111 1111 2 + 1000 1000 01112 Визначення знакового розряду: s=1(бо число від'ємне). Схема внутрішньогопредставлення: s  e  m  1 біт 8 біт 23біт   Зборка за схемою: s e m  1 1000 0111 0101 0110 0100 1101 1001 001   В 16- ковійсистемічислення: 1100 0011 1010 1011 0010 0110 1100 10002= C3 AB 26 C916 В пам’ятікомп’ютера буде зберігатися у зворотному порядкурозміщення байт числа: 1000 1100 0110 0010 1000 1010 0011 1100 Результат в 16- ковійсистемічислення: C9 26 AB C3 Алгоритм розв’язання задачі: #include<stdio.h> #include<conio.h> voidmain (void) { float f1, f2; int i1, i2; i1 = 70; i2 = -350; f1 = 114.101; f2 = -342.303; { unsignedchar *vx=(unsignedchar *)(&i1); printf("i1 = "); for (int i=0;i<sizeof(i1);i++) printf("%02X ",vx[i]); printf("\n"); } { unsignedchar *vx=(unsignedchar *)(&i2); printf("i2 = "); for (int i=0;i<sizeof(i2);i++) printf("%02X ",vx[i]); printf("\n"); } { unsignedchar *vx=(unsignedchar *)(&f1); printf("f1 = "); for (int i=0;i<sizeof(f1);i++) printf("%02X ",vx[i]); printf("\n"); } { unsignedchar *vx=(unsignedchar *)(&f2); printf("f2 = "); for (int i=0;i<sizeof(f2);i++) printf("%02X ",vx[i]); printf("\n"); } } Результат виконання програми:  Рис1. Ескіз вікна з результатом виконання програми Висновок: в цій лабораторній роботі я зрозумів принцип представлення чисел в комп’ютері, їхньою структурою та типами. Вдосконалив свої знання про представлення чисел в різних системах числення та типах даних, а також закріпив нові знання щодо мови програмування С++.
Антиботан аватар за замовчуванням

23.12.2013 22:12-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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