Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмування 2 лаба.doc
Скачиваний:
2
Добавлен:
21.11.2019
Размер:
212.99 Кб
Скачать

4. Результати виконання програми:

Висновки:

Ознайомившись з теоретичним матеріалом даної лабораторної роботи, а також застосувавши його на практиці я зрозумів явне та неявне перетворення типів даних в комп’ютері.

Додатки:

Програма для завдання 1: #include <iostream>

#include <conio.h>

using namespace std;

void main (void)

{

char x0 = 0x1994 - 10;

float x1 ;

unsigned short x2 = 0(8%8);

short x3 = 89 - 110;

bool x4 = 11%3 * 10;

x1 = x0 + x2 + x4+0x123;

x2 = x2 + x3 - 0123;

x3 = x1 + x2 * 0.123 + '1';

cout<<"===============IMPLICIT==============\n\n\n";

cout<<"x1 = x0 + x2 + x4+0x123 - "<<x1<<"\n============================================================================\n";

cout<<"x2 = x2 + x3 - 0123; - "<<x2<<"\n============================================================================\n";

cout<<"x3 = x1 + x2 * 0.123 + '1' - "<<x3<<"\n============================================================================\n";

getch();

}

Програма для завдання 2: #include<stdio.h>// Підключаємо відповідні бібліотеки

#include<conio.h>

#include<math.h>

void main (void){

const int x_0=11*8*100;

const int x_1= 013100;

const int x_2= 0x1310;

const int x_3= 010130;

const int x_4= 0x1013;

const double y_0 = 11*8/100.0;

const double y_1= - 11.8;

const double y_2= 8.11e+2;

const double y_3= - 11.8e1;

const double y_4= - 8.11e-1;

int x = x_1;

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;

printf ("v1 = %f\n", v1);

printf ("v2 = %c\n", v2);

printf ("v3 = %f\n", v3);

printf ("v4 = %c\n", v4);

printf ("w1 = %d\n", w1);

printf ("w2 = %d\n", w2);

printf ("w3 = %d\n", w3);

printf ("w4 = %c\n", w4);

unsigned char *vi1=(unsigned char *)(&y); /* За допомогою вказівника отримуємо адресу на комірку пам’яті де записана відповідна змінна */

printf("i1 = ");

for (int i=0;i<sizeof(y);i++)

printf("%02X ",vi1[i]);

getch();

}