logo

Pretvorba tipov v C++

V tej temi bomo obravnavali pretvorbo ene podatkovne vrste v drugo v programskem jeziku C++. Pretvorba tipa je postopek, ki pretvarja vnaprej določen podatkovni tip ene spremenljivke v ustrezen podatkovni tip. Glavna ideja pretvorbe tipa je pretvorba dveh različnih spremenljivk podatkovnega tipa v en sam podatkovni tip za preprosto reševanje matematičnih in logičnih izrazov brez izgube podatkov.

Pretvorba tipov v C++

Na primer, seštevamo dve števili, kjer je ena spremenljivka tipa int, druga pa tipa float; spremenljivko int moramo pretvoriti ali vtipkati v float, da bosta oba tipa float podatkov, da ju dodamo.

Pretvorbo tipov je v C++ mogoče izvesti na dva načina, prvi je implicitna pretvorba tipa , in drugi je eksplicitna pretvorba tipa . Te pretvorbe izvede sam prevajalnik, kar se imenuje implicitna ali samodejna pretvorba vrste. Pretvorba, ki jo izvede uporabnik ali zahteva posege uporabnika, se imenuje eksplicitna ali uporabniško definirana pretvorba vrste. Razpravljajmo o implicitni in eksplicitni pretvorbi tipov v C++.

Implicitna pretvorba tipa

Implicitna pretvorba vrste je vrsta pretvorbe, ki jo samodejno izvede prevajalnik brez človeškega truda. To pomeni, da implicitna pretvorba samodejno pretvori eno podatkovno vrsto v drugo na podlagi nekaterih vnaprej določenih pravil prevajalnika C++. Zato je znan tudi kot avtomatska pretvorba tipa .

java ustvari naključno število

Na primer:

 int x = 20; short int y = 5; int z = x + y; 

V zgornjem primeru sta dve različni spremenljivki podatkovnega tipa, x in y, kjer je x tip int, y pa je podatkovni tip short int. In nastala spremenljivka z je tudi celoštevilski tip, ki hrani spremenljivki x in y. Toda prevajalnik C++ samodejno pretvori vrednost podatkovnega tipa nižjega ranga (short int) v višji tip (int), preden dobi vsoto dveh števil. Tako se izogne ​​izgubi podatkov, prelivanju ali izgubi predznaka pri implicitni pretvorbi tipa C++.

java jedro java

Vrstni red vrste pri implicitni pretvorbi

Sledi pravilen vrstni red podatkovnih tipov od nižjega do višjega ranga:

 bool -> char -> short int -> int -> unsigned int -> long int -> unsigned long int -> long long int -> float -> double -> long double 

Program za pretvorbo int v plavajoči tip z implicitno pretvorbo tipa

Ustvarimo program za pretvorbo podatkovnih tipov nižjega ranga v višje tipe z uporabo implicitne pretvorbe tipov.

Program1.cpp

 #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; } 

Izhod

 The value of num1 is: 25 The value of num2 is: 25 

Program za pretvorbo podatkovnega tipa double v int z uporabo implicitne pretvorbe tipa

Ustvarimo program za pretvorbo višjega tipa podatkov v nižji tip z uporabo implicitne pretvorbe tipa.

Program2.cpp

 #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; } 

Izhod

 The value of the int variable is: 15 The value of the double variable is: 15.25 

V zgornjem programu smo num deklarirali kot celoštevilski tip in num2 kot spremenljivko dvojnega podatkovnega tipa ter nato num2 dodelili kot 15,25. Po tem s pomočjo operatorja dodelitve spremenljivki num dodelimo vrednost num2. Torej prevajalnik C++ samodejno pretvori dvojno podatkovno vrednost v vrsto celega števila, preden jo dodeli spremenljivki num in natisne okrnjeno vrednost kot 15.

spletno mesto, kot je coomeet

Eksplicitna pretvorba tipa

Pretvorbe, ki zahtevajo posredovanje uporabnika spremeniti podatkovni tip ene spremenljivke v drugo, se imenuje eksplicitna pretvorba tipa . Z drugimi besedami, eksplicitna pretvorba omogoča programerju, da ročno spremeni ali tipizira podatkovni tip iz ene spremenljivke v drug tip. Zato je znana tudi kot pretvorba tipov. Na splošno prisilimo eksplicitno pretvorbo tipa za pretvorbo podatkov iz ene vrste v drugo, ker ne sledi pravilu implicitne pretvorbe.

Eksplicitna pretvorba tipa je razdeljena na dva načina:

  1. Eksplicitna pretvorba z uporabo operatorja cast
  2. Eksplicitna pretvorba z uporabo operatorja dodelitve

Program za pretvorbo plavajoče vrednosti v vrsto int z uporabo operatorja za pretvorbo

Cast operater: V jeziku C++ je cast operator unarni operator, ki na silo pretvori eno vrsto v drugo vrsto.

Oglejmo si primer pretvorbe podatkovnega tipa float v tip int z uporabo cast operatorja eksplicitne pretvorbe v jeziku C++.

Program3.cpp

 #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; } 

Izhod

pd.združiti
 The value of x is: 6 

Program za pretvorbo ene vrste podatkov v drugo z uporabo operatorja dodelitve

Oglejmo si primer pretvorbe podatkovnega tipa ene spremenljivke v drugo z uporabo operatorja dodelitve v programu C++.

Program4.cpp

 #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; } 

Izhod

 The value of int num1 is: 25 The value of float num2 is: 25.0