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

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

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

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

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

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Програмування частина 4 Технологія системного програмування
Варіант:
Варіант 1 2

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

Міністерство освіти і науки, молоді та спорту України Національний університет „Львівська політехніка” Звіт з лабораторної роботи № 2 з дисципліни: “Програмування (частина 3)” на тему: “ Перетворення типів даних ” Варіант [1,2] (v1 , w3 , v5 , w0) Мета роботи: Дослідження методів та засобів явного і неявного перетворення типів даних. Постановка задачі: Дослідити методи та засоби явного і неявного перетворення типів даних. Розробити алгоритм розв’язання задачі, і підтвердити роботу алгоритму програмною реалізацією. Завдання 1 Алгоритм розв’язання задачі: #include <stdio.h> #include <conio.h> int main() { typedef unsigned int type_0; typedef unsigned short int type_1; typedef unsigned long int type_2; typedef signed short int type_3; typedef signed int type_4; typedef signed long int type_5; typedef bool type_6; typedef char type_7; typedef wchar_t type_8; typedef float type_9; typedef double type_10; typedef long double type_11; type_8 x0=0; type_0 x1=26; type_5 x2=2; type_5 x3=3; type_4 x4=4; type_2 x5=5; type_2 x6=6; type_9 x7=7; type_10 x8=8; type_5 x9=9; type_0 x10=10; type_2 x11=11; x1 = x1 - 0xFFFFFFFA; x3 = 'a' + x0 - x2; x7 = x4 + x5 + x6 * 0.1; x8 = x9 + x10 - x11 * 10; printf("x0: "); unsigned char *vx0 = (unsigned char *)(&x0); for (int i = 0; i < sizeof(x0); i++) printf("%02X ", vx0[i]); printf("\n"); printf("x1: "); unsigned char *vx1 = (unsigned char *)(&x1); for (int i = 0; i < sizeof(x1); i++) printf("%02X ", vx1[i]); printf("\n"); printf("x2: "); unsigned char *vx2 = (unsigned char *)(&x2); for (int i = 0; i < sizeof(x2); i++) printf("%02X ", vx2[i]); printf("\n"); printf("x3: "); unsigned char *vx3 = (unsigned char *)(&x3); for (int i = 0; i < sizeof(x3); i++) printf("%02X ", vx3[i]); printf("\n"); printf("x4: "); unsigned char *vx4 = (unsigned char *)(&x4); for (int i = 0; i < sizeof(x4); i++) printf("%02X ", vx4[i]); printf("\n"); printf("x5: "); unsigned char *vx5 = (unsigned char *)(&x5); for (int i = 0; i < sizeof(x5); i++) printf("%02X ", vx5[i]); printf("\n"); printf("x6: "); unsigned char *vx6 = (unsigned char *)(&x6); for (int i = 0; i < sizeof(x6); i++) printf("%02X ", vx6[i]); printf("\n"); printf("x7: "); unsigned char *vx7 = (unsigned char *)(&x7); for (int i = 0; i < sizeof(x7); i++) printf("%02X ", vx7[i]); printf("\n"); printf("x8: "); unsigned char *vx8 = (unsigned char *)(&x8); for (int i = 0; i < sizeof(x8); i++) printf("%02X ", vx8[i]); printf("\n"); printf("x9: "); unsigned char *vx9 = (unsigned char *)(&x9); for (int i = 0; i < sizeof(x9); i++) printf("%02X ", vx9[i]); printf("\n"); printf("x10: "); unsigned char *vx10 = (unsigned char *)(&x10); for (int i = 0; i < sizeof(x10); i++) printf("%02X ", vx10[i]); printf("\n"); printf("x11: "); unsigned char *vx11 = (unsigned char *)(&x11); for (int i = 0; i < sizeof(x11); i++) printf("%02X ", vx11[i]); printf("\n"); getch(); return 0; } Результати виконання програми  Завдання 2 Алгоритм розв’язання задачі: #include<stdio.h> #include<conio.h> int main () { int x= 026050; float y= 5.26e+2; int v1 = static_cast< char > (x)+11; printf("%d %x %c \n", v1,v1,v1); int v5=*reinterpret_cast<char*> (&x) +2; printf("%d %x %c \n\n", v5,v5,v5); char w0 =*(reinterpret_cast<char*>(&y)+2)+12; printf("%x %u %d \n",w0,w0,w0); short w3=*reinterpret_cast<short*>(&y) + 1; printf("%x %u %d \n", w3,w3,w3);; return 0; } Результати виконання програми:  Контрольні питання 1. Оголошено змінні: signed char sch; unsigned char uch; double dх; Які неявні перетворення типів будуть виконані: sch = uch + dx; Виберіть зі списку справа необхідні перетворення і запишіть їх номери в порядку зростання через кому (наприклад: а,б,в). а)short→char б)long→char в)int→char г)float→char д)double→char е)short→int ж)long→int з)char→int и)float→int і)double→int к)short→float л)long→float м)char→float н)int→float о)double→float п)short→double р)long→double с)char→double т)int→double ф)float→double    Визначити результат виконання фрагменту програми. Відповідь пояснити. 2. int x=0XC17C0000; printf("%f",* reinterpret_cast<float*> (&x)); 4. float x=2670.05; //2670.0510 = 0XA6E.0CCCCC16 printf("%d",*reinterpret_cast<short*> (&x));  3. int x=0XC17C0000; printf("%c ",* reinterpret_cast<char*> (&x)+1); 5. float x=2670.05; //2670.0510 = 0XA6E.0CCCCC16 printf("%d", static_cast<int> (x));   Відповіді с)char→double д)double→char 2. -15.750000 3. 0  4. -7987 5. 2670   Висновок В результаті виконання лабораторної роботи я освоїв основні методи та засоби явного та неявного представлення типів даних та використав ці знання для виконання прикладних програм.
Антиботан аватар за замовчуванням

04.06.2014 17:57

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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