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

Внутрішнє представлення в пам’яті комп’ютера статичних даних базових типів

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

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

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

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

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

Міністерство освіти і науки, Національний університет «Львівська Політехніка» Кафедра ЕОМ / Лабораторна робота №1 з дисципліни «Програмування, частина 3(Структури даних та алгоритми)» на тему: «Внутрішнє представлення в пам’яті комп’ютера статичних даних базових типів» Мета роботи: Дослідження внутрішнього представлення в пам’яті комп’ютера даних статичної структури. Індивідуальне завдання(Частина 1.1) (Варіант 03) Дослідити внутрішнє представлення в пам’яті комп’ютера даних статичної структури. Розглянути основні базові і похідні типи даних: bool b = 50; wchar_t ch4=’н’; unsigned short i1=300; long double d3=-168.24e07; Хід роботи 1. Запускаю програму на виконання. / Індивідуальне завдання(Частина 1.2) (Варіант 0) Дослідити внутрішнє представлення в пам’яті комп’ютера статичних даних базових та похідних типів. Тестування провести для заданих значень змінних. st1 , un2 , m3 2. Запускаю програму на виконання. / Висновок: У цій лабораторній роботі я досліджував внутрішнє подання в пам’яті комп’ютера базових типів даних. Текст програми: (Частина 1.1) #include <iostream> #include <stdlib.h> using namespace std; int main() { setlocale(LC_ALL, "ukr"); bool b = 50; unsigned char ch2='a'; unsigned i3=5160; long double d3=-168.24e07; cout << endl; cout << "Представлення типу bool в пам'ятi: "; unsigned char *vb = (unsigned char *)(&b); for (int i = 0; i<sizeof(b); i++) printf("%02X ", vb[i]); printf("\n"); cout << "Представлення типу unsigned char в пам'ятi: "; unsigned char *vch2 = (unsigned char *)(&ch2); for (int i = 0; i<sizeof(ch2); i++) printf("%02X ", vch2[i]); printf("\n"); cout << "Представлення типу unsigned в пам'ятi: "; unsigned char *vi3 = (unsigned char *)(&i3); for (int i = 0; i<sizeof(i3); i++) printf("%02X ", vi3[i]); printf("\n"); cout << "Представлення типу long double в пам'ятi: "; unsigned char *vd3 = (unsigned char *)(&d3); for (int i = 0; i<sizeof(d3); i++) printf("%02X ", vd3[i]); printf("\n"); cout << endl; system("pause"); } (Частина 1.2) #include <iostream> #include <stdlib.h> using namespace std; int main() { setlocale(LC_ALL, "ukr"); typedef bool *vkaz; bool b = true; enum color { BLUE = 2, GREEN = BLUE + 7, // замість X підставити свій місяць народження CYAN, RED, BROWN, GRAY = RED - 24, // замість Y підставити свій день народження YELLOW, WHІTE = 0, MAGENTA, LІGHTGRAY, DARKGRAY = -2, BLACK }; char m3[][2][4] = { { { 1,2,3,4 },{ 5 } },{ { 6,7 } },{ {},{ 8,9 } } }; // Для надання значень елементам масиву m3 використати одну з цифр номера мобільного // телефону (10 цифр, починаючи з коду оператора, тобто 10 останніх цифр номера телефону): m3[2][1][0] = 0, m3[0][0][1] = 6, m3[1][1][2] = 3, m3[0][1][2] = 8, m3[2][1][3] = 1, m3[2][0][0] = 9, m3[1][1][1] = 7, m3[1][0][1] = 0, m3[2][0][1] = 2, m3[2][1][2] = 5; struct str { unsigned s1 : 2 + 1; // замість k1 підставити першу цифру дня народження unsigned : 0; unsigned s2 : 4 + 2; // замість k2 підставити другу цифру дня народження unsigned : 0 + 3; // замість k3 підставити першу цифру місяця народження unsigned s4 : 7 + 4; // замість k4 підставити другу цифру місяця народження int s5; } sr1 = { 1, 3, 10, 62047 }, sr2 = { 0, 2, 14, 59254 }; union { int up1; short up2; double up3; char up4[3][2]; bool up5; color up6; vkaz up7; float up8; str up9; } un1, un2, un3, un4; un2.up3 = 16800; // замість Z підставити значення, обчислене за формулою: un2.up6 = BROWN; // Z = (день народження) * (місяць народження) * 100; struct info { char p1[11]; double p2; short p3; unsigned p4 : 4 + 5; // замість k1 підставити другу цифру дня народження vkaz p5; unsigned : 7 + 3; // замість k2 підставити другу цифру місяця народження } st1 = { "Львiв", 25, 97,17, &b }; // замість слова "Місто" підставити назву свого // міста або села, замість BD - номер будинку, //замість KV - номер квартири struct { info p1; bool p2[3][2][3]; }; cout << "Представлення типу bool в пам'ятi: "; unsigned char *vb = (unsigned char *)(&b); for (int i = 0; i<sizeof(b); i++) printf("%02X ", vb[i]); printf("\n"); cout << endl; cout << "Представлення типу struct в пам'ятi: "; unsigned char *vst1 = (unsigned char *)(&st1); for (int i = 0; i<sizeof(st1); i++) printf("%02X ", vst1[i]); printf("\n"); cout << endl; cout << "Представлення типу union в пам'ятi: "; unsigned char *vun2 = (unsigned char *)(&un2); for (int i = 0; i<sizeof(un2); i++) printf("%02X ", vun2[i]); printf("\n"); cout << endl; cout << "Представлення типу char в пам'ятi: "; unsigned char *vm3 = (unsigned char *)(&m3); for (int i = 0; i<sizeof(m3); i++) printf("%02X ", vm3[i]); printf("\n"); cout << endl; system("pause"); }
Антиботан аватар за замовчуванням

28.02.2016 12:57

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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