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

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

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Структури даних та алгоритми
Група:
КІ

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Кафедра ЕОМ "Представлення в пам’яті комп’ютера цілих та дійсних типів даних" лабораторна робота № 1 з дисципліни " Програмування. Частина III. Структури даних та алгоритми " 1.МЕТА РОБОТИ Дослідження внутрішнього представлення в пам’яті комп’ютера базових типів даних статичної структури. 2.ІНДИВІДУАЛЬНЕ ЗАВДАННЯ НА ЛАБОРАТОРНУ РОБОТУ Дослідити внутрішнє представлення в пам’яті комп’ютера цілих та дійсних типів даних. Розглянути наступні базові типи даних: int i1 , і2; float f1 , f2; i1 = 75; і2 = -375; f1=117.116 ; f2 = -234.232; 3.Алгоритм розв’язання задачі. Ми повинні показати представлення в пам’яті комп’ютера цілих та дійсних типів даних, з якими оперує наша програма. Алгоритм полягає в впорядкованому зчитуванні байтів збережених у памяті комп’ютера, за допомогою вказівників та посилань. В па’мяті комп’ютера змінна типу float займає 4 байти, в яких один біт виділяється під знак, 8- під порядок,23- під мантису. 4.Система тестів 4.1 Додатнє число 75 типу int в пам'яті комп’ютера зберігається в прямому двійковому коді і займає 4 байти:  0000 0000 0000 0000 0000 0000 0100 1011 В пам’яті комп’ютера цілі числа зберігаються у зворотному порядку розміщення байт числа: 0100 1011 0000 0000 0000 0000 0000 0000 Результат в 16-ковій системі числення: 4B 00 00 00. 4.2 Від'ємне число -375 типу long int в пам'яті комп’ютера зберігається в доповняльному двійковому коді і займає 4 байти: - 37510 = -17716 = - 2 0000 0000 0000 0000 0000 0001 0111 0111 - прямий код; 1111 1111 1111 1111 1111 1110 1000 1000 - обернений код; + 1 1111 1111 1111 1111 1111 1110 1000 1001 - доповняльний код; F F F F F E 8 9 - в 16- ковій системі числення В пам’яті комп’ютера зберігається у зворотному порядку розміщення байт числа: 1001 1000 1110 1111 1111 1111 1111 1111 Результат в 16- ковій системі числення: 89 FE FF FF. 4.3 Розглянемо, як в пам'яті комп’ютера зберігається додатнє число 117,116 типу float . Перевід цілої частини: 117/16=7 остача 5 7/16=0 остача 7 => 117 10 =75 16 Перевід дробової частини: 0, 116 * 16 = 1,856 0, 856 * 16 = 13,696 (1310 = D16) 0, 696 * 16 = 11,136 (1110 = B16) 0, 136 * 16 = 2,176 0,176 * 16 = 2,816  => 0,116 10 = 0,1DB22 16   Отже: 117,116 10 = 75, 1DB22 16 = 0111 0101, 0001 1101 1011 0010 0010 2 Нормалізація: 01,11 0101 0001 1101 1011 0010 0010 2 * 100110 Заокруглення: 1,11 0101 0001 1101 1011 0010 0│01 + 0 1,11 0101 0001 1101 1011 0010 0 Визначення мантиси: m=11 0101 0001 1101 1011 0010 0 Визначення зміщеного порядку: е = 12710 + 610 = 133 10 = 85 16 = 1000 0101 2 Визначення знакового розряду: s=0 (бо число додатнє). Схема внутрішнього представлення: s  e  m  1 біт  8 біт  23 біт  Зборка за схемою: s e m  0 1000 0101 110 1010 0011 1011 0110 0100   В 16- ковій системі 0100 0010 1110 1010 0011 1011 0110 01002=42 EA3B 64 16 В пам’яті комп’ютера буде зберігатися у зворотному порядку розміщення байт числа: 0110 0100 0011 1011 1110 1010 0100 0010 Результат в 16- ковій системі числення: 64 3B EA 42 4.4 Представлення змінної f2: f2=-234.232 Перевід цілої частини: -23410=-EA16 Перевід дробової частини: 0, 232 * 16 =3,712 0, 712 * 16 = 11,392 (1110 = B16) 0, 392 * 16 = 6,272 0, 272 * 16 = 4,352 0,352 * 16 = 5,96  => 0.232 10 = 0,3B645 16   Отже: -234.23210 = -EA, 3B64516 = 1110 1010,0011 1011 0110 0100 01012 Нормалізація: 1,110 1010 0011 1011 0110 0100 01012* 100111 Заокруглення: 1,110 1010 0011 1011 0110 0100 │01 + 0 1,110 1010 0011 1011 0110 0100 Визначення мантиси: m=110 1010 0011 1011 0110 0100 Визначення зміщеного порядку: е = 12710 + 710 = 134 10 = 86 16 = 1000 0110 2 Визначення знакового розряду: s=1 Схема внутрішнього представлення: s  e  m  1 біт  8 біт  23 біт   Зборка за схемою: s e m  1 1000 0110 110 1010 0011 1011 0110 0100   В 16- ковій системі: 1100 0011 0110 1010 0011 1011 0110 0100= С36A3B6416 В пам’яті комп’ютера буде відображатись наступним чином: 64 3B 6A C3 5.Результати виконання програми. / Висновки: Під час виконання даної лабораторної роботи ми спостерігали представлення даних у памяті комп’ютера, написали програмну реалізацію, яка допомагає спостерігати за зберіганням даних у памяті комп’ютера та вивели результати роботи на екран. Описали представлення цілочисельних та дійсних типів даних у памяті ручними розрахунками. Текст програми поміщений в додаток а також безпосередньо у алгоритм вирішення задачі. Додатки: Текст програми: #include<stdio.h> #include<conio.h> #include <iostream> int main (void) { // створення та ініціалізація змінних int i; int i1=75; int i2=-375; float f1 = 117.116; float f2 = -234.232; unsigned char *vi1=(unsigned char *)(&i1); for (int 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; } СПИСОК ЛІТЕРАТУРИ Грегори К. Использование Visual С++. Специальное издание. - М.: «Диалектика», 1999. Мешков А.В., Тихомиров Ю.В. Visual С++ и MFC. Пер. с англ. – 2-е изд. перераб. и доп. – СПб.: БХВ - Петербург, 2002. – 1040 с. Страуструп Б. Язык программирования С++. Третье издание. - М.: «Издательство Бином», 1999.
Антиботан аватар за замовчуванням

18.11.2012 16:52

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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