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.
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:
- Eksplicitna pretvorba z uporabo operatorja cast
- 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