logo

Ierakstiet Conversion C++

Šajā tēmā mēs apspriedīsim viena datu veida pārveidošanu citā C++ programmēšanas valodā. Tipa konvertēšana ir process, kas pārvērš viena mainīgā iepriekš definēto datu tipu atbilstošā datu tipā. Tipa konvertēšanas galvenā ideja ir pārveidot divus dažādus datu tipu mainīgos vienā datu tipā, lai viegli atrisinātu matemātiskās un loģiskās izteiksmes, nezaudējot datus.

Ierakstiet Conversion C++

Piemēram, mēs pievienojam divus skaitļus, kur viens mainīgais ir int un otrs float tipa; mums ir jāpārveido vai jāievada int mainīgais par peldošo, lai tie abi būtu peldošie datu tipi, lai tos pievienotu.

Tipa konvertēšanu C++ var veikt divos veidos, viens ir implicītā tipa konvertēšana , un otrais ir skaidra tipa konvertēšana . Šīs konvertēšanas veic pats kompilators, ko sauc par netiešo tipu vai automātisko tipa konvertēšanu. Pārvēršana, ko veic lietotājs vai kam nepieciešama lietotāja iejaukšanās, ko sauc par nepārprotamu vai lietotāja definēta tipa konvertēšanu. Apspriedīsim netiešo un tiešo tipu konvertēšanu C++.

Netieša veida konvertēšana

Netiešā tipa konvertēšana ir pārveidošanas veids, ko kompilators veic automātiski bez cilvēka piepūles. Tas nozīmē, ka netieša konvertēšana automātiski pārvērš vienu datu tipu citā veidā, pamatojoties uz dažiem iepriekš definētiem C++ kompilatora noteikumiem. Tāpēc to sauc arī par automātiska tipa pārveidošana .

papildinātājs pilns papildinātājs

Piemēram:

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

Iepriekš minētajā piemērā ir divi dažādi datu tipa mainīgie, x un y, kur x ir int tips, bet y ir īss int datu tips. Un iegūtais mainīgais z ir arī vesela skaitļa veids, kurā tiek saglabāti x un y mainīgie. Bet C++ kompilators automātiski pārvērš zemākā ranga datu tipa (īsais int) vērtību augstāka tipa (int), pirms tiek iegūta divu skaitļu summa. Tādējādi tas novērš datu zudumu, pārplūdi vai zīmju zudumu netiešā C++ tipa pārveidošanā.

virknes pārvēršana par veselu skaitli

Tipa secība netiešajā pārveidē

Tālāk ir norādīta pareizā datu tipu secība no zemāka ranga uz augstāku:

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

Programma, lai pārveidotu int par peldošo tipu, izmantojot netiešo tipa konvertēšanu

Izveidosim programmu mazāka ranga datu tipu pārvēršanai augstākos veidos, izmantojot implicītu tipu konvertēšanu.

Programma1.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; } 

Izvade

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

Programma, lai pārveidotu dubulto datu tipu int, izmantojot netiešo tipa konvertēšanu

Izveidosim programmu, lai pārveidotu augstāku datu tipu par zemāku tipu, izmantojot netiešo tipa konvertēšanu.

Programma2.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; } 

Izvade

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

Iepriekš minētajā programmā mēs esam deklarējuši num kā vesela skaitļa tipu un num2 kā dubultā datu tipa mainīgo un pēc tam piešķīruši num2 kā 15.25. Pēc tam mēs piešķiram num2 vērtību num mainīgajam, izmantojot piešķiršanas operatoru. Tātad C++ kompilators automātiski pārvērš dubulto datu vērtību vesela skaitļa tipā, pirms piešķir to mainīgajam skaitlim un izdrukā saīsināto vērtību kā 15.

nejaušā secībā sql

Skaidra tipa konvertēšana

Reklāmguvumi, kas prasa lietotāja iejaukšanās lai mainītu viena mainīgā datu tipu uz citu, sauc par skaidra tipa konvertēšana . Citiem vārdiem sakot, skaidra pārveidošana ļauj programmētājam manuāli mainīt vai tipizēt datu tipu no viena mainīgā uz citu. Līdz ar to to sauc arī par tipa apraidi. Parasti mēs piespiedām tiešā tipa konvertēšanu, lai pārveidotu datus no viena veida uz citu, jo tas neievēro netiešo konvertēšanas kārtulu.

Skaidrā tipa konvertēšana ir sadalīta divos veidos:

  1. Skaidra pārveidošana, izmantojot apraides operatoru
  2. Skaidra konvertēšana, izmantojot piešķiršanas operatoru

Programma, lai pārveidotu peldošo vērtību int tipā, izmantojot cast operatoru

Cast operators: C++ valodā cast operators ir unārs operators, kas piespiedu kārtā pārvērš vienu tipu citā tipā.

Apskatīsim piemēru, kā pludināto datu tipu pārveidot par int tipu, izmantojot skaidrās konversijas operatoru C++ valodā.

Programma3.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; } 

Izvade

agrīnie mukeri
 The value of x is: 6 

Programma viena datu veida konvertēšanai citā, izmantojot piešķiršanas operatoru

Apskatīsim piemēru, kā pārveidot viena mainīgā datu tipu citā, izmantojot piešķiršanas operatoru programmā C++.

Programma4.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; } 

Izvade

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