logo

Kirjoita Conversion C++:ssa

Tässä aiheessa käsittelemme yhden tietotyypin muuntamista toiseksi C++-ohjelmointikielellä. Tyyppimuunnos on prosessi, joka muuntaa yhden muuttujan ennalta määritetyn tietotyypin sopivaksi tietotyypiksi. Tyyppimuunnoksen pääideana on muuntaa kaksi eri tietotyyppimuuttujaa yhdeksi tietotyypiksi matemaattisten ja loogisten lausekkeiden ratkaisemiseksi helposti ilman tietojen menetystä.

Kirjoita Conversion C++:ssa

Esimerkiksi lisäämme kaksi numeroa, joista toinen on int-tyyppinen ja toinen float-tyyppinen; meidän on muunnettava tai kirjoitettava int-muuttuja floatiksi, jotta ne voidaan lisätä kelluviin tietotyyppeihin.

Tyyppimuunnos voidaan tehdä kahdella tavalla C++:ssa, yksi on implisiittinen tyyppimuunnos , ja toinen on eksplisiittinen tyyppimuunnos . Kääntäjä itse tekee nämä muunnokset, joita kutsutaan implisiittiseksi tyyppimuunnokseksi tai automaattiseksi tyyppimuunnokseksi. Muunnos, jonka tekee käyttäjä tai vaatii käyttäjän häiriötä, jota kutsutaan nimenomaiseksi tai käyttäjän määrittelemäksi muunnokseksi. Keskustellaan implisiittisestä ja eksplisiittisestä tyyppimuunnoksesta C++:ssa.

Implisiittisen tyypin muunnos

Implisiittinen tyyppimuunnos on muunnos, jonka kääntäjä suorittaa automaattisesti ilman ihmisen ponnistuksia. Se tarkoittaa, että implisiittinen muunnos muuntaa automaattisesti yhden tietotyypin toiseksi C++-kääntäjän ennalta määritettyjen sääntöjen perusteella. Siksi se tunnetaan myös nimellä automaattinen tyyppimuunnos .

xor javassa

Esimerkiksi:

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

Yllä olevassa esimerkissä on kaksi erilaista tietotyyppimuuttujaa, x ja y, joissa x on int-tyyppi ja y on lyhyt int-tietotyyppi. Ja tuloksena oleva muuttuja z on myös kokonaislukutyyppi, joka tallentaa x- ja y-muuttujat. Mutta C++-kääntäjä muuntaa automaattisesti alemman tason tietotyypin (lyhyt int) arvon korkeamman tyypin (int) arvoksi ennen kuin tuloksena on kahden luvun summa. Siten se välttää tietojen katoamisen, ylivuodon tai etumerkkihäviön C++:n implisiittisessä tyyppimuunnoksessa.

normalisointi tietokannassa

Tyypin järjestys implisiittisessä muunnoksessa

Seuraava on oikea tietotyyppien järjestys alemmasta arvosta korkeampaan:

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

Ohjelma muuntaa in float-tyyppiä käyttämällä implisiittistä tyyppimuunnos

Luodaan ohjelma, joka muuntaa pienemmät tietotyypit korkeammiksi tyypeiksi käyttämällä implisiittistä tyyppimuunnosa.

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

Lähtö

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

Ohjelma, joka muuntaa kaksinkertaisen int-tietotyypiksi implisiittisen tyyppimuunnoksen avulla

Luodaan ohjelma, joka muuntaa korkeamman tietotyypin alemmaksi implisiittisen tyyppimuunnoksen avulla.

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

Lähtö

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

Yllä olevassa ohjelmassa olemme ilmoittaneet num kokonaislukutyypiksi ja num2 kaksoistietotyyppimuuttujaksi ja sitten määrittäneet num2:ksi 15.25. Tämän jälkeen annamme num2-arvon num-muuttujalle määritysoperaattorilla. Joten C++-kääntäjä muuntaa automaattisesti kaksoisdatan arvon kokonaislukutyypiksi ennen kuin määrittää sen num-muuttujalle ja tulostaa katkaistun arvon 15:ksi.

muotoile päivämäärä merkkijonoksi

Eksplisiittisen tyypin muunnos

Tarvittavat muunnokset käyttäjän puuttuminen muuttujan tietotyypin vaihtamista toiseen kutsutaan nimellä eksplisiittinen tyyppimuunnos . Toisin sanoen eksplisiittinen muunnos antaa ohjelmoijalle mahdollisuuden muuttaa tai tyyppilähettää tietotyyppiä manuaalisesti muuttujasta toiseen. Siksi se tunnetaan myös nimellä typecasting. Yleensä pakotamme eksplisiittisen tyypin muuntamisen muuttamaan tiedot tyypistä toiseen, koska se ei noudata implisiittistä muunnossääntöä.

Eksplisiittinen tyyppimuunnos on jaettu kahteen tapaan:

  1. Eksplisiittinen muunnos Cast-operaattorilla
  2. Eksplisiittinen muunnos määritysoperaattorilla

Ohjelma muuntaa float-arvon int-tyypiksi cast-operaattorilla

Cast-operaattori: C++-kielessä cast-operaattori on yksipuolinen operaattori, joka muuntaa väkisin yhden tyypin toiseksi tyypiksi.

Tarkastellaan esimerkkiä float-tietotyypin muuntamisesta int-tyypiksi käyttämällä eksplisiittisen muunnoksen cast-operaattoria C++-kielellä.

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

Lähtö

nfa - dfa
 The value of x is: 6 

Ohjelma muuntaa yhden tietotyypin toiseksi määritysoperaattorin avulla

Tarkastellaan esimerkkiä muuttujan tietotyypin muuntamisesta toiseksi käyttämällä C++-ohjelman määritysoperaattoria.

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

Lähtö

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