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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІНСТИТУТ КОМП’ЮТЕРНОЇ ТЕХНІКИ АВТОМАТИКИ ТА МЕТРОЛОГІЇ Кафедра ЕОМ ЗВІТ ЛАБОРАТОРНОЇ РОБОТИ №2 З ПРЕДМЕТУ: «Програмування. Частина III. Структури даних та алгоритми» Львів – 2011 Мета роботи. Дослідження внутрішнього представлення в пам’яті комп’ютера базових типів даних статичної структури. Постановка задачі. І. Дослідити внутрішнє представлення в пам’яті комп’ютера цілих та дійсних типів даних. Розглянути наступні базові типи даних: int i1 , і2; float f1 , f2; ІІ. Тестування провести для таких значень змінних: Для надання значень змінним використати одну з літер Прізвища (латинські літери, перша - велика, решта - малі): i1 = ASCII–код першої літери прізвища; i2 = i1 * (–5); f1 – дійсне число: ціла частина – ASCII–код другої літери прізвища, дробова частина – ASCII–код третьої літери прізвища; f2 = f1*(–2); i1=80; i2=-400; f1=101.116; f2= -202.232; Алгоритм розв’язання задачі. За індивідуальним завданням я розробила алгоритм розв’язання задачі. Цей алгоритм був реалізований у програмі, в якій спочатку підключаються потрібні для виконання програми бібліотеки, а саме stdio.h, conio.h, iostream. Після цього ініціалізовані усі потрібні змінні: спочатку змінна і, яка буде використовуватись в циклі, а потім змінні, значення яких задане в індивідуальному завданні. Далі відбувається перетворення типу, за допомогою функції unsigned, перевірка розміру отриманого значення і виведення його на екран. Система тестів Представлення змінної і1: 8010=5016 Отже: 80 10 = 5016 = 0000 0000 0000 0000 0000 0000 0101 0000 2 В пам’яті комп’ютера буде відображатись наступним чином: 50 00 00 00. Представлення змінної і2: -40010=-19016 Переведення в доповняльний код: 0000 0000 0000 0000 0000 0001 1001 0000 1111 1111 1111 1111 1111 1110 0110 1111 + 1 1111 1111 1111 1111 1111 1110 0111 0000 1111 1111 1111 1111 1111 1110 0111 00002=FF FF FE 70 Отже: -400 10 = -19016 = 1111 1111 1111 1111 1111 1110 0111 00002 В пам’яті комп’ютера буде відображатись наступним чином: 70 FE FF FF. Представлення змінної f1. Перевід цілої частини: 10110=6516 Перевід дробової частини: 0, 116 * 16 =1,856 (110=116) 0, 856 * 16 = 13,696 (1310=D16) 0, 696 * 16 = 11,136 (1110=B16) 0, 136 * 16 = 2,176 (210=216) 0, 176 * 16 = 2,816 (210=216)  => 0,116 10 = 0,1DB2216   Отже: 101,116 10 = 65, 1DB22 16 = 0110 0101, 0001 1101 1011 0010 0010 2 Нормалізація: 01,10 0101 0001 1101 1011 0010 0010 2 * 100110 Заокруглення: 1,10 0101 0001 1101 1011 00100 │010 + 0 1,10 0101 0001 1101 1011 00100 Визначення мантиси: m= 10 0101 0001 1101 1011 00100 Визначення зміщеного порядку: е = 12710 + 610 = 133 10 = 85 16 = 1000 0101 2 В 16- ковій системі числення: 0100 0010 1100 1010 0011 1011 0110 0100 2= 42 CA 3B 6416 В пам’яті комп’ютера буде відображатись наступним чином: 64 3B CA 42. Представлення змінної f2: Перевід цілої частини: -20210=-CA16 Перевід дробової частини: 0, 232 * 16 =3,712 (310 = 316) 0, 712 * 16 = 11,392 (1110 = B16) 0, 392 * 16 = 6,272 (610 = 616) 0, 272 * 16 = 4,352 (410 = 416) 0, 352 * 16 = 5,632 (510=516)  => 0,232 10 = 0,3B64516   Отже: -202,23210 = -CA,3B64516 = 1100 1010, 0011 1011 0110 0100 01012 Нормалізація: 1,100 1010 0011 1011 0110 0100 0101 2 * 100111 Заокруглення: 1,100 1010 0011 1011 0110 0100 │0101 + 0 1,100 1010 0011 1011 0110 0100 Визначення мантиси: m=100 1010 0011 1011 0110 0100 Визначення зміщеного порядку: е = 12710 + 710 = 134 10 = 86 16 = 1000 0110 2 В 16- ковій системі числення: 1100 0011 0100 1010 0011 1011 0110 0100 2= C3 4A 3B 6416 В пам’яті комп’ютера буде відображатись наступним чином: B 4A C3. Результати виконання програми. / Висновки. Виконавши дану лабораторну роботу, я навчилася досліджувати внутрішнє представлення в пам’яті комп’ютера базових типів даних статичної структури. Додатки. #include<stdio.h> #include<conio.h> #include <iostream> int main (void) { int i; int i1=80; int i2=-400; float f1 = 101.116; float f2 = -202.232; unsigned char *vi1=(unsigned char *)(&i1); for ( i=0;i<sizeof(i1);i++) printf("%02X ",vi1[i]); printf("\n"); unsigned char *vi2=(unsigned char *)(&i2); for (i=0;i<sizeof(i2);i++) printf("%02X ",vi2[i]); printf("\n"); unsigned char *vf1=(unsigned char *)(&f1); for (i=0;i<sizeof(f1);i++) printf("%02X ",vf1[i]); printf("\n"); unsigned char *vf2=(unsigned char *)(&f2); for (i=0;i<sizeof(f2);i++) printf("%02X ",vf2[i]); printf("\n"); getch(); return 0; }
Антиботан аватар за замовчуванням

21.10.2013 21:10-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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