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

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

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

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

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

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

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

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 2 на тему: "Перетворення типів даних" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір індивідуального завдання: RN = 1994 MN = 4 % 8 = 4 DN = 17 mn = 04 dn = 17 Pr1 = №(C) = 84 рr2 = №(h) = 99 рr3 = №(a) = 117 Львів – 2013 Мета роботи: Дослідження методів та засобів явного і неявного перетворення типів даних. Постановка задачі: Обчислити вирази та визначити, які неявні та явні перетворення типів будуть відбуватись. Хід міркувань підтвердити програмними результатами. Далі використовувати такі позначення: RN - число, що відповідає року народження, MN - число, що відповідає місяцю народження % 8, DN - число, що відповідає дню народження, mn і dn– ті ж самі значення, що й MN і DN відповідно, записані у вигляді двох цифр, Pr1 – ASCII-код першої літери прізвища (латинська велика літера), pr2 – ASCII-код другої літери прізвища (латинська мала літера), pr3 – ASCII-код третьої літери прізвища (латинська мала літера). Завдання 1. Неявні перетворення типів даних Система тестів: • Неявні перетворення типів даних x1 = x0 + x2 + x4+0Х123; а) char x0 = 0х1994 – 10 0х1994 ВПК = 94 19 00 00 199416 = -10810 (1 байт) б) unsigned short x2 = 04 ВПК = 04 00 00 00 в) bool x4 = 17 % 3 * 10 17 % 3 * 10 = 1 г) 0х123 12316 = 29110 х1 = -108 – 10 + 4 +1 +291 = 178 Результат: 178 x2 = x2 + x3 - 0123; а) unsigned short x2 = 04 ВПК = 04 00 б) short x3 = 84 – 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 = 04 ВПК = 04 00 00 00 4*0,123 = 0,492 в) ‘1’ – у таблиці ASCII це код 49 ВПК = 31 00 31 0016 = 1254410 • Явні перетворення типів даних 1) float v1 = static_cast< float > (x); х = 17*4*100 = 6800 2) char v2 = static_cast<char> (x); х = 17*4*100 = 6800 Оскільки char займає 1 байт, то х = 20, а в таблиці ASCII це “P” 3) float v3 =*reinterpret_cast<float*> (&x)+1; х = 17*4*100 = 6800 Оскільки char займає 1 байт, то 00 + 1 = 1 4) char v4 =*(reinterpret_cast<char*> (&x)+2)+3; х = 17*4*100 = 6800 Оскільки char займає 1 байт, то 00 + 3 = 3. В таблиці ASCII це “♥” 5) int w1 = static_cast<int>(y)+0X0E2; у = 4.17е+2 = 417 0х0E2 = 226 w1 = 417 + 226 = 643 6) long w2 =*reinterpret_cast<long*>(&y)+1; у = 417 ВПК = 00 00 00 00 00 00 03 16. Оскільки long – 4 байти і перші 4 байти = 0, то 0 + 1 = 1 7) short w3 =*(reinterpret_cast<short*>(&y)+2); ВПК = 00 00 00 00 00 40 6А 40. Short – 2 байти 40 6А = 16384 8) char w4 =*(reinterpret_cast<char*>(&y)+7)+3; ВПК = 00 00 00 00 00 40 6А 40. С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 = 04; short x3 = 84 - 110; bool x4 = 17 % 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 = 17*4*100; const int x_1 = 017040; const int x_2 = 0x1704; const int x_3 = 004170; const int x_4 = 0x0417; const double y_0= 17*4/100; const double y_1= -17.4; const double y_2= 4.17e+2; const double y_3= -17.4e1; const double y_4= - 4.17e-1; int x = x_0; double y = y_2; 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 ...
Антиботан аватар за замовчуванням

03.04.2018 21:04

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини