logo

Skriv Konvertering i C++

I dette emne vil vi diskutere konverteringen af ​​en datatype til en anden i programmeringssproget C++. Typekonvertering er den proces, der konverterer den foruddefinerede datatype for én variabel til en passende datatype. Hovedideen bag typekonvertering er at konvertere to forskellige datatypevariabler til en enkelt datatype for nemt at løse matematiske og logiske udtryk uden tab af data.

Skriv Konvertering i C++

For eksempel tilføjer vi to tal, hvor en variabel er af int-typen og en anden af ​​float-typen; vi er nødt til at konvertere eller typecaste int-variablen til en float for at gøre dem begge til float-datatyper for at tilføje dem.

Typekonvertering kan udføres på to måder i C++, den ene er implicit typekonvertering , og det andet er eksplicit typekonvertering . Disse konverteringer udføres af compileren selv, kaldet den implicitte type eller automatisk typekonvertering. Konverteringen, som udføres af brugeren eller kræver brugerinterferens kaldet eksplicit eller brugerdefineret type konvertering. Lad os diskutere den implicitte og eksplicitte typekonvertering i C++.

Implicit typekonvertering

Den implicitte typekonvertering er den type konvertering, der udføres automatisk af compileren uden nogen menneskelig indsats. Det betyder, at en implicit konvertering automatisk konverterer en datatype til en anden type baseret på nogle foruddefinerede regler i C++-kompileren. Derfor er det også kendt som automatisk typekonvertering .

java og swing

For eksempel:

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

I ovenstående eksempel er der to forskellige datatypevariabler, x og y, hvor x er en int-type, og y'et er af kort int-datatype. Og den resulterende variabel z er også en heltalstype, der gemmer x- og y-variabler. Men C++ compileren konverterer automatisk den lavere rangerede datatypeværdi (kort int) til højere type (int), før den resulterer i summen af ​​to tal. Således undgår det datatab, overløb eller tegntab i implicit typekonvertering af C++.

Typecastets rækkefølge i implicit konvertering

Følgende er den korrekte rækkefølge af datatyper fra lavere rang til højere rang:

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

Program til at konvertere int til float type ved hjælp af implicit type konvertering

Lad os oprette et program til at konvertere mindre rangerede datatyper til højere typer ved hjælp af implicit typekonvertering.

Program1.cpp

hvordan man ændrer streng til int
 #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; } 

Produktion

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

Program til at konvertere dobbelt til int datatype ved hjælp af implicit type konvertering

Lad os oprette et program til at konvertere den højere datatype til lavere type ved hjælp af implicit typekonvertering.

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

Produktion

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

I ovenstående program har vi erklæret num som en heltalstype og num2 som den dobbelte datatypevariabel og derefter tildelt num2 som 15.25. Efter dette tildeler vi num2 værdi til num variabel ved hjælp af tildelingsoperatoren. Så en C++-kompiler konverterer automatisk den dobbelte dataværdi til heltalstypen, før den tildeles til num-variablen og udskriver den trunkerede værdi som 15.

Eksplicit type konvertering

Konverteringer, der kræver brugerindgreb at ændre datatypen for en variabel til en anden, kaldes eksplicit typekonvertering . Med andre ord tillader en eksplicit konvertering programmøren manuelt at ændre eller typecaste datatypen fra en variabel til en anden type. Derfor er det også kendt som typecasting. Generelt tvinger vi den eksplicitte typekonvertering til at konvertere data fra en type til en anden, fordi den ikke følger den implicitte konverteringsregel.

Den eksplicitte typekonvertering er opdelt på to måder:

  1. Eksplicit konvertering ved hjælp af cast-operatoren
  2. Eksplicit konvertering ved hjælp af opgaveoperatøren

Program til at konvertere flydende værdi til int-type ved hjælp af cast-operatoren

Cast operatør: I C++-sprog er en cast-operator en unær operator, der med magt konverterer en type til en anden type.

javac genkendes ikke

Lad os overveje et eksempel for at konvertere float-datatypen til int-type ved hjælp af cast-operatoren for den eksplicitte konvertering i C++-sprog.

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

Produktion

 The value of x is: 6 

Program til at konvertere en datatype til en anden ved hjælp af tildelingsoperatoren

Lad os overveje et eksempel for at konvertere datatypen for en variabel til en anden ved hjælp af tildelingsoperatoren i C++-programmet.

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

Produktion

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