logo

Zadejte převod v C++

Typové obsazení je v podstatě převod z jednoho typu na druhý. Existují dva typy převodu typu:

    Implicitní konverze typu Také známá jako „automatická konverze typu“.
    • Provádí kompilátor sám o sobě, bez jakéhokoli externího spouštění ze strany uživatele.
    • Obecně se vyskytuje, když je ve výrazu přítomen více než jeden datový typ. V takovém stavu probíhá konverze typu (propagace typu), aby nedošlo ke ztrátě dat.
    • Všechny datové typy proměnných jsou upgradovány na datový typ proměnné s největším datovým typem.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Je možné, že implicitní převody ztratí informace, mohou se ztratit znaménka (když je podepsané implicitně převedeno na nepodepsané) a může dojít k přetečení (když se long long implicitně převede na float).

    Příklad implicitní konverze typu:








    array.sort v jazyce Java

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



    >

    >

    Výstup:

     x = 107 y = a z = 108>
    Explicitní konverze typu: Tento proces se také nazývá přetypování a je definován uživatelem. Zde může uživatel přetypovat výsledek a vytvořit z něj konkrétní datový typ.

    V C++ to lze provést dvěma způsoby:

    • Převod podle zadání: To se provádí explicitním definováním požadovaného typu před výrazem v závorkách. To lze také považovat za násilné odlévání.

      Syntax:

      (type) expression>

      kde typ označuje datový typ, na který je konečný výsledek převeden.

      Příklad:




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

      >

      >

      Výstup:

       Sum = 2>
    • Převod pomocí operátoru Cast: Operátor Cast je an unární operátor který nutí jeden datový typ převést na jiný datový typ.
      C++ podporuje čtyři typy castingu:

      1. Statické obsazení
      2. Dynamické obsazení
      3. Const Cast
      4. Reinterpretovat obsazení
        1. Příklad:




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

          >

          >

          jak velká je obrazovka mého počítače
          Výstup:

           3>

Výhody typové konverze:

  • To se provádí za účelem využití určitých funkcí typových hierarchií nebo reprezentací typů.
  • Pomáhá vypočítat výrazy obsahující proměnné různých datových typů.