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 1

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

Міністерство освіти і науки, молоді та спорту України Національний університет „Львівська політехніка” Звіт з лабораторної роботи № 2 з дисципліни: “Програмування (частина 3)” на тему: “ Перетворення типів даних ” Варіант [1,1] (v5 , w6 , v0 , w1) Мета роботи: Дослідження методів та засобів явного і неявного перетворення типів даних. Постановка задачі: Дослідити методи та засоби явного і неявного перетворення типів даних. Розробити алгоритм розв’язання задачі, і підтвердити роботу алгоритму програмною реалізацією. Завдання 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_0 x0=0; // замість № підставити значення: DN % 9 type_0 x1=9; // замість № підставити значення: DN % DN type_0 x2=2; // замість № підставити значення: MN % 9 type_9 x3=3; // замість № підставити значення: MN % 13 type_0 x4=4; // замість № підставити значення: (DN * MN) % 9 type_9 x5=5; // замість № підставити значення: DN % 12 type_0 x6=6; // замість № підставити значення: MN % 3 type_9 x7=7; // замість № підставити значення: (DN * MN) % 12 type_9 x8=8; // замість № підставити значення: DN % 13 type_3 x9=9; // замість № підставити значення: MN % 6 type_9 x10=10; // замість № підставити значення: (DN * MN) % 10 type_0 x11=11; // замість № підставити значення: DN % 3 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> using namespace std; int main () { const int x_4 = 0x0909; int x = x_4; const float y_0 = 9*9/100; float y = y_0; int v0=*reinterpret_cast<char*> (&x) +3; printf("%d %x %c \n", v0,v0,v0); int v5=*reinterpret_cast<char*> (&x) +2; printf("%d %x %c \n\n", v5,v5,v5); long w1 =*reinterpret_cast<long*>(&y)+33; printf("%lx %lu %ld \n",w1,w1,w1); short w6=*(reinterpret_cast<short*>(&y)+1)+13; printf("%x %u %d \n", w6,w6,w6); getch(); 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 18:05

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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