logo

Írja be a Conversion parancsot C++ nyelven

Ebben a témában az egyik adattípus másikká konvertálását tárgyaljuk C++ programozási nyelven. A típuskonverzió az a folyamat, amely egy változó előre meghatározott adattípusát megfelelő adattípussá alakítja. A típuskonverzió mögött meghúzódó fő gondolat az, hogy két különböző adattípus-változót egyetlen adattípussá alakítsanak át, így könnyen, adatvesztés nélkül megoldhatók a matematikai és logikai kifejezések.

Írja be a Conversion parancsot C++ nyelven

Például két számot adunk össze, ahol az egyik változó int, a másik pedig float típusú; Az int változót float alakba kell konvertálnunk vagy begépelnünk, hogy mindkettő float adattípus legyen a hozzáadáshoz.

A típuskonverzió kétféleképpen történhet C++-ban, az egyik az implicit típuskonverzió , a második pedig az explicit típuskonverzió . Ezeket az átalakításokat maga a fordító végzi el, ezt implicit típus- vagy automatikus típuskonverziónak nevezik. Az átalakítás, amelyet a felhasználó hajt végre, vagy felhasználói beavatkozást igényel, amelyet explicit vagy felhasználó által meghatározott típusú konverziónak neveznek. Beszéljük meg az implicit és explicit típuskonverziót C++-ban.

Implicit típuskonverzió

Az implicit típuskonverzió az az átalakítás, amelyet a fordító minden emberi erőfeszítés nélkül automatikusan végrehajt. Ez azt jelenti, hogy egy implicit konverzió automatikusan konvertálja az egyik adattípust egy másik típusba a C++ fordító néhány előre meghatározott szabálya alapján. Ezért más néven a automatikus típusátalakítás .

Például:

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

A fenti példában két különböző adattípus-változó található, az x és az y, ahol az x egy int típus, az y pedig egy rövid int adattípus. És az eredő z változó is egy egész típusú, amely x és y változókat tárol. De a C++ fordító automatikusan átalakítja az alacsonyabb rangú adattípust (rövid int) magasabb típusúvá (int), mielőtt két szám összegét eredményezné. Így elkerülhető az adatvesztés, túlcsordulás vagy előjelvesztés a C++ implicit típuskonverziójában.

A típusadás sorrendje implicit konverzióban

A következő az adattípusok helyes sorrendje az alacsonyabb rangtól a magasabbig:

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

Program int lebegő típussá konvertálására implicit típuskonverzió segítségével

Hozzunk létre egy programot, amely a kisebb rangú adattípusokat magasabb típusokká konvertálja implicit típuskonverzió segítségével.

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

Kimenet

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

Dupla int adattípussá konvertáló program implicit típuskonverzió segítségével

Hozzunk létre egy programot, amely implicit típuskonverzióval konvertálja a magasabb adattípust alacsonyabb típusúvá.

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

Kimenet

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

A fenti programban a num-t egész számként, a num2-t pedig kettős adattípusú változóként deklaráltuk, majd a num2-t 15,25-ként rendeltük hozzá. Ezt követően a hozzárendelési operátor segítségével a num változóhoz szám2 értéket rendelünk. Tehát egy C++ fordító automatikusan egész típusra konvertálja a dupla adatértéket, mielőtt hozzárendelné a num változóhoz, és a csonkolt értéket 15-ként nyomtatja ki.

Explicit típuskonverzió

Konverziók, amelyek megkövetelik felhasználói beavatkozás az egyik változó adattípusának megváltoztatásához a másikra, az úgynevezett explicit típuskonverzió . Más szavakkal, az explicit konverzió lehetővé teszi a programozó számára, hogy manuálisan módosítsa vagy típusosítsa az adattípust egyik változóról a másikra. Ezért más néven typecasting. Általában az explicit típuskonverziót kényszerítjük az adatok egyik típusból a másikba való konvertálására, mert nem követi az implicit konverziós szabályt.

Az explicit típuskonverzió kétféleképpen oszlik meg:

  1. Explicit átalakítás a cast operátor használatával
  2. Explicit átalakítás a hozzárendelési operátor használatával

Program a lebegőértékek int típusra konvertálására a cast operátor segítségével

Szereplő operátor: A C++ nyelvben a cast operátor egy unáris operátor, amely erőszakkal átalakítja az egyik típust egy másik típusba.

Tekintsünk egy példát a lebegő adattípus int típussá konvertálására az explicit konverzió cast operátorával C++ nyelven.

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

Kimenet

 The value of x is: 6 

Program az egyik adattípus másikká konvertálására a hozzárendelési operátor segítségével

Tekintsünk egy példát az egyik változó adattípusának konvertálására a C++ program hozzárendelési operátorával.

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

Kimenet

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