У овој теми ћемо разговарати о конверзији једног типа података у други у програмском језику Ц++. Конверзија типа је процес који претвара унапред дефинисани тип података једне променљиве у одговарајући тип података. Главна идеја која стоји иза конверзије типова је да се две различите варијабле типа података конвертују у један тип података како би се лако решили математички и логички изрази без икаквог губитка података.
На пример, додајемо два броја, при чему је једна променљива типа инт, а друга типа флоат; потребно је да конвертујемо или укуцамо променљиву инт у флоат да би оба типа података флоат да бисмо их додали.
Конверзија типа се може извршити на два начина у Ц++, један је имплицитна конверзија типа , а други је експлицитна конверзија типа . Те конверзије обавља сам компајлер, назван имплицитна или аутоматска конверзија типа. Конверзија, коју обавља корисник или која захтева уплитање корисника, назива се експлицитна или кориснички дефинисана конверзија типа. Хајде да разговарамо о имплицитној и експлицитној конверзији типа у Ц++.
Имплицитна конверзија типа
Имплицитна конверзија типа је тип конверзије који аутоматски обавља компајлер без икаквог људског напора. То значи да имплицитна конверзија аутоматски конвертује један тип података у други тип на основу неких унапред дефинисаних правила Ц++ компајлера. Стога је познат и као аутоматска конверзија типа .
централно дугме цсс
На пример:
int x = 20; short int y = 5; int z = x + y;
У горњем примеру постоје две различите променљиве типа података, к и и, где је к инт тип, а и је кратког типа инт. И резултујућа променљива з је такође целобројни тип који чува к и и променљиве. Али Ц++ компајлер аутоматски конвертује вредност типа података нижег ранга (схорт инт) у виши тип (инт) пре него што добије збир два броја. Тако се избегава губитак података, преливање или губитак предзнака у имплицитној конверзији типа Ц++.
датеформат.формат јава
Редослед типова у имплицитној конверзији
Следи исправан редослед типова података од нижег до вишег ранга:
bool -> char -> short int -> int -> unsigned int -> long int -> unsigned long int -> long long int -> float -> double -> long double
Програм за претварање типа инт у флоат тип користећи имплицитну конверзију типа
Хајде да направимо програм за претварање типова података мањег ранга у више типове користећи имплицитну конверзију типова.
Програм1.цпп
#include using namespace std; int main () { // assign the integer value int num1 = 25; // declare a float variable float num2; // convert int value into float variable using implicit conversion num2 = num1; cout << ' The value of num1 is: ' << num1 << endl; cout << ' The value of num2 is: ' << num2 << endl; return 0; }
Излаз
The value of num1 is: 25 The value of num2 is: 25
Програм за конверзију типа података доубле у инт користећи имплицитну конверзију типа
Хајде да направимо програм за конверзију вишег типа података у нижи тип помоћу имплицитне конверзије типа.
Програм2.цпп
#include using namespace std; int main() { int num; // declare int type variable double num2 = 15.25; // declare and assign the double variable // use implicit type conversion to assign a double value to int variable num = num2; cout << ' The value of the int variable is: ' << num << endl; cout << ' The value of the double variable is: ' << num2 << endl; return 0; }
Излаз
The value of the int variable is: 15 The value of the double variable is: 15.25
У горњем програму смо декларисали нум као целобројни тип и нум2 као променљиву типа доубле, а затим доделили нум2 као 15.25. Након овога, додељујемо вредност нум2 променљивој нум користећи оператор доделе. Дакле, Ц++ компајлер аутоматски конвертује двоструку вредност података у целобројни тип пре него што је додели променљивој нум и одштампа скраћену вредност као 15.
јава провера је нула
Експлицитна конверзија типа
Конверзије које захтевају интервенција корисника да промените тип података једне променљиве у другу, назива се експлицитна конверзија типа . Другим речима, експлицитна конверзија омогућава програмеру да ручно промени или пребацује тип података из једне променљиве у други тип. Отуда је познат и као увођење типова. Генерално, приморавамо експлицитну конверзију типа да конвертује податке из једног типа у други јер не прати правило имплицитне конверзије.
Експлицитна конверзија типа је подељена на два начина:
- Експлицитна конверзија помоћу цаст оператора
- Експлицитна конверзија помоћу оператора доделе
Програм за претварање флоат вредности у инт тип користећи цаст оператор
Оператер Цаст: У језику Ц++, цаст оператор је унарни оператор који насилно претвара један тип у други тип.
Хајде да размотримо пример за претварање типа података флоат у тип инт користећи оператор цаст експлицитне конверзије у језику Ц++.
Програм3.цпп
#include using namespace std; int main () { float f2 = 6.7; // use cast operator to convert data from one type to another int x = static_cast (f2); cout << ' The value of x is: ' << x; return 0; }
Излаз
јава додај у низ
The value of x is: 6
Програм за претварање једног типа података у други помоћу оператора додељивања
Хајде да размотримо пример претварања типа података једне променљиве у другу помоћу оператора доделе у Ц++ програму.
Програм4.цпп
#include using namespace std; int main () { // declare a float variable float num2; // initialize an int variable int num1 = 25; // convert data type from int to float num2 = (float) num1; cout << ' The value of int num1 is: ' << num1 << endl; cout << ' The value of float num2 is: ' << num2 << endl; return 0; }
Излаз
The value of int num1 is: 25 The value of float num2 is: 25.0