logo

Kirjoita Conversion C++:ssa

Tyyppivalu on pohjimmiltaan muuntamista tyypistä toiseen. Tyyppimuunnoksia on kahta tyyppiä:

    Implisiittinen tyyppimuunnos Tunnetaan myös nimellä 'automaattinen tyyppimuunnos'.
    • Kääntäjä tekee itse, ilman käyttäjän ulkoista laukaisua.
    • Yleensä tapahtuu, kun lausekkeessa on useampi kuin yksi tietotyyppi. Tällaisissa olosuhteissa tyyppimuunnos (tyypin edistäminen) tapahtuu tietojen menettämisen välttämiseksi.
    • Kaikki muuttujien tietotyypit päivitetään suurimman tietotyypin muuttujan tietotyypeiksi.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Implisiittiset muunnokset voivat menettää tietoja, merkit voivat kadota (kun allekirjoitettu muunnetaan implisiittisesti etumerkittömäksi) ja ylivuoto voi tapahtua (kun long long muunnetaan implisiittisesti kelluvaksi).

    Esimerkki implisiittisen muunnoksen tyypistä:




    xor javassa





    // An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> >int> x = 10;>// integer x> >char> y =>'a'>;>// character c> > >// y implicitly converted to int. ASCII> >// value of 'a' is 97> >x = x + y;> > >// x is implicitly converted to float> >float> z = x + 1.0;> > >cout <<>'x = '> << x << endl> ><<>'y = '> << y << endl> ><<>'z = '> << z << endl;> > >return> 0;> }>



    >

    normalisointi tietokannassa
    >

    Lähtö:

     x = 107 y = a z = 108>
    Eksplisiittisen tyypin muunnos: Tätä prosessia kutsutaan myös tyyppisuoritukseksi ja se on käyttäjän määrittämä. Täällä käyttäjä voi kirjoittaa tuloksen tehdäkseen siitä tietyn tietotyypin.

    C++:ssa se voidaan tehdä kahdella tavalla:

    • Muuntaminen toimeksiannon mukaan: Tämä tehdään määrittämällä vaadittu tyyppi selkeästi suluissa olevan lausekkeen eteen. Tätä voidaan pitää myös voimakkaana valuna.

      Syntaksi:

      (type) expression>

      missä tyyppi ilmaisee tietotyypin, johon lopputulos muunnetaan.

      Esimerkki:




      // C++ program to demonstrate> // explicit type casting> > #include> using> namespace> std;> > int> main()> {> >double> x = 1.2;> > >// Explicit conversion from double to int> >int> sum = (>int>)x + 1;> > >cout <<>'Sum = '> << sum;> > >return> 0;> }>

      muotoile päivämäärä merkkijonoksi
      >

      >

      Lähtö:

       Sum = 2>
    • Muunnos Cast-operaattorilla: Cast-operaattori on yksipuolinen operaattori joka pakottaa yhden tietotyypin muuttamaan toiseksi tietotyypiksi.
      C++ tukee neljää casting-tyyppiä:

      1. Staattinen Cast
      2. Dynaaminen Cast
      3. Const Cast
      4. Tulkitse näyttelijä uudelleen
        1. Esimerkki:




          #include> using> namespace> std;> int> main()> {> >float> f = 3.5;> > >// using cast operator> >int> b =>static_cast><>int>>(f);>> >cout << b;> }>

          >

          >

          nfa - dfa
          Lähtö:

           3>

Tyyppimuunnoksen edut:

  • Tämä tehdään tyyppihierarkioiden tai tyyppiesitysten tiettyjen ominaisuuksien hyödyntämiseksi.
  • Se auttaa laskemaan lausekkeita, jotka sisältävät eri tietotyyppien muuttujia.