logo

Тип Конверзија у Ц++

У овој теми ћемо разговарати о конверзији једног типа података у други у програмском језику Ц++. Конверзија типа је процес који претвара унапред дефинисани тип података једне променљиве у одговарајући тип података. Главна идеја која стоји иза конверзије типова је да се две различите варијабле типа података конвертују у један тип података како би се лако решили математички и логички изрази без икаквог губитка података.

Тип Конверзија у Ц++

На пример, додајемо два броја, при чему је једна променљива типа инт, а друга типа флоат; потребно је да конвертујемо или укуцамо променљиву инт у флоат да би оба типа података флоат да бисмо их додали.

Конверзија типа се може извршити на два начина у Ц++, један је имплицитна конверзија типа , а други је експлицитна конверзија типа . Те конверзије обавља сам компајлер, назван имплицитна или аутоматска конверзија типа. Конверзија, коју обавља корисник или која захтева уплитање корисника, назива се експлицитна или кориснички дефинисана конверзија типа. Хајде да разговарамо о имплицитној и експлицитној конверзији типа у Ц++.

Имплицитна конверзија типа

Имплицитна конверзија типа је тип конверзије који аутоматски обавља компајлер без икаквог људског напора. То значи да имплицитна конверзија аутоматски конвертује један тип података у други тип на основу неких унапред дефинисаних правила Ц++ компајлера. Стога је познат и као аутоматска конверзија типа .

централно дугме цсс

На пример:

 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.

јава провера је нула

Експлицитна конверзија типа

Конверзије које захтевају интервенција корисника да промените тип података једне променљиве у другу, назива се експлицитна конверзија типа . Другим речима, експлицитна конверзија омогућава програмеру да ручно промени или пребацује тип података из једне променљиве у други тип. Отуда је познат и као увођење типова. Генерално, приморавамо експлицитну конверзију типа да конвертује податке из једног типа у други јер не прати правило имплицитне конверзије.

Експлицитна конверзија типа је подељена на два начина:

  1. Експлицитна конверзија помоћу цаст оператора
  2. Експлицитна конверзија помоћу оператора доделе

Програм за претварање флоат вредности у инт тип користећи цаст оператор

Оператер Цаст: У језику Ц++, цаст оператор је унарни оператор који насилно претвара један тип у други тип.

Хајде да размотримо пример за претварање типа података флоат у тип инт користећи оператор цаст експлицитне конверзије у језику Ц++.

Програм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