Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Перетворення типів даних

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

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

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

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

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 2 на тему: " Перетворення типів даних " з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір індивідуального завдання: RN = 1994 MN = 11 % 8 = 3 DN = 28 mn = 03 dn = 28 Pr1 = №(G) = 86 рr2 = №(r) = 97 рr3 = №(o) = 115 Мета роботи Дослідження методів та засобів явного і неявного перетворення типів даних. Постановка задачі Обчислити вирази та визначити, які неявні та явні перетворення типів будуть відбуватись. Хід міркувань підтвердити програмними результатами. Система тестів Завдання 1. Неявні перетворення типів даних x1 = x0 + x2 + x4+0Х123; а) char x0 = 0х1994 – 10 0х1994 ВПК = 94 19 00 00 199416 = -10810 (1 байт) б) unsigned short x2 = 03 ВПК = 03 00 00 00 в) bool x4 = 28 % 3 * 10 28 % 3 * 10 = 1 г) 0х123 12316 = 29110 х1 = -108 – 10 + 3 +1 +291 = 177 Результат: 177 x2 = x2 + x3 - 0123; а) unsigned short x2 = 03 ВПК = 03 00 б) short x3 = 86 – 110 ВПК = E6 FF E6 FF16 = 59135 в) 01238 = 8310 x2=x2+x3-0123 3) x3 = x1 + x2 * 0.123 + ’1’; а) х1 ВПК = СС СС СС СС16 = -1310810 б) unsigned short x2 = 03 ВПК = 03 00 00 00 3*0,123 = 0,369 в) ‘1’ – у таблиці ASCII це код 49 ВПК = 31 00 31 0016 = 1254410 Завдання 2. Явні перетворення типів даних 1) float v1 = static_cast< float > (x); х = 28*3*100 = 8400 2) char v2 = static_cast<char> (x); х = 28*3*100 = 8400 Оскільки char займає 1 байт, то х = 20, а в таблиці ASCII це “P” 3) float v3 =*reinterpret_cast<float*> (&x)+1; х = 28*3*100 = 8400 Оскільки char займає 1 байт, то 00 + 1 = 1 4) char v4 =*(reinterpret_cast<char*> (&x)+2)+3; х = 28*3*100 = 8400 Оскільки char займає 1 байт, то 00 + 3 = 3. В таблиці ASCII це “♥” 5) int w1 = static_cast<int>(y)+0X0E2; у = 3.28е 1 = -283 0х0E2 = 226 w1 = -283 + 226 = -57 6) long w2 =*reinterpret_cast<long*>(&y)+1; у = 328 ВПК = 00 00 00 00 00 00 01 48. Оскільки long – 4 байти і перші 4 байти = 0, то 0 + 1 = 1 7) short w3 =*(reinterpret_cast<short*>(&y)+2); ВПК = 00 00 00 00 00 50 00 50. Short – 2 байти 50 00 = -20480 8) char w4 =*(reinterpret_cast<char*>(&y)+7)+3; ВПК = 00 00 00 00 00 50 00 50. Сhar – 1 байт Алгоритм розв’язання задачі: #include <iostream> using namespace std; int main () { float X1; unsigned short X2; short X3; char x0 = 0x1994 - 10; float x1 ; unsigned short x2 = 03; short x3 = 86 - 110; bool x4 = 28 % 3 * 10; {x1 = x0 + x2 + x4 + 0x123;} {x2 = x2 + x3 - 0123;} {x3 = x1 + x2 * 0.123 + '1';} cout << "______Task 2\n______" << endl; cout << "x1=" << x1 << endl; cout << "x2=" << x2 << endl; cout << "x3=" << x3 << endl; const int x_0 = 28*3*100; const int x_1 = 034030; const int x_2 = 0x2803; const int x_3 = 003340; const int x_4 = 0x0328; const double y_0= 28*3/100; const double y_1= -28.3; const double y_2= 3.28e+2; const double y_3= -28.3e1; const double y_4= - 3.28e-1; int x = x_3; double y = y_3; float v1 = static_cast< float > (x); char v2 = static_cast<char> (x); float v3 =*reinterpret_cast<float*> (&x)+1; char v4 =*(reinterpret_cast<char*> (&x)+2)+3; int w1 = static_cast<int>(y)+0X0E2; long w2 =*reinterpret_cast<long*>(&y)+1; short w3 =*(reinterpret_cast<short*>(&y)+2); char w4 =*(reinterpret_cast<char*>(&y)+7)+3; cout << "______\nTask 2\n______" << endl; cout << "v1=" << v1 << endl; cout << "v2=" << v2 << endl; cout << "v3=" << v3 << endl; cout << "v4=" << v4 << endl; cout << "w1=" << w1 << endl; cout << "w2=" << w2 << endl; cout << "w3=" << w3 << endl; cout << "w4=" << w4 << endl; getchar(); } Результат виконання програми: / Рис1. Ескіз вікна з результатом виконання програми Висновок: в даній лабораторній роботі я навчився явно і неявно перетворювати типи даних.
Антиботан аватар за замовчуванням

03.04.2018 21:04

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини