Razlika med ulivanjem tipa in pretvorbo tipov

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 4 Maj 2024
Anonim
Razlika med ulivanjem tipa in pretvorbo tipov - Tehnologija
Razlika med ulivanjem tipa in pretvorbo tipov - Tehnologija

Vsebina


Osnovno razliko med pretvorbo tipa in vnosom tipov, tj. Pretvorbo tipa "avtomatsko" opravi prevajalnik, medtem ko mora programski odliv "izrecno narediti".

Dva izraza "uvajanje tipa" in "pretvorba vrst" se pojavita, kadar je treba pretvoriti eno vrsto podatkov v drugo. Ko sta obe vrsti združljivi med seboj, potem prevajalnik pretvori eno vrsto v drugo samodejno. Razpravljajmo o razliki vlivanja in pretvorbe vrst s pomočjo primerjalne tabele.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela:

Osnove za primerjavoVlivanje tipaVrsta pretvorbe
PomenUporabnik eno vrsto podatkov dodeli drugemu s pomočjo operaterja cast, potem se imenuje "Casting Type".Prevajalnik samodejno pretvorbo ene vrste podatkov v drugo sam imenuje "Type Conversion".
Uporablja seKasting tipa se lahko uporabi tudi za dve nezdružljivi podatkovni vrsti.Pretvorba tipa se lahko izvede samo, če sta združljivi dve podatkovni vrsti.
OperaterZa oddajanje podatkovne vrste drugemu je potreben operater vlivanja ().Noben operater ni potreben.
Velikost podatkovnih vrstVrsta cilja je lahko manjša od vrste vira.Tu mora biti ciljna vrsta večja od vrste vira.
IzvedenoIzvaja se med načrtovanjem programa.Izvaja se izrecno med sestavljanjem.
Vrsta pretvorbe

Ozko konverzija.Širitev pretvorbe.
Primerint a;
bajta b;
...
...
b = (bajt) a;
int a = 3;
plovec b;
b = a; // vrednost v b = 3.000.


Opredelitev tipa litja

Vlivanje tipa lahko definira kot, vstavljanje ene podatkovne vrste v drugo vrsto podatkov, s strani programerja v času oblikovanja programa. Samodejna pretvorba ene vrste podatkov v drugo ni možna ves čas. Morda je pogoj, da je „ciljna vrsta“ manjša od „vrste vira“. Zato mora programer večjo vrsto podatkov izrecno oddati v manjši tip podatkov s pomočjo operaterja za oddajanje "()". Ker je večja vrsta podatkov modulirana na manjšo vrsto podatkov, jo imenujemo tudi "zožitev pretvorbe".

Izjava:

target_type = (target_type) spremenljivka / vrednost // target type je tip, v katerem želite pretvoriti izvorni tip, vedno je ciljni tip.

Primer

Razložimo ga s primerom. Podatkovni tip "int" želite pretvoriti v "bajt". Ker je "bajt" manjši od "int", pretvorba vrst ni dovoljena. Tu smo morali implicitno pretvoriti "int" v "bajt" z uporabo operaterja za uvajanje "()". Ker je 'int' večji od 'byte', se velikost 'int' zmanjša na obseg 'int mod byte'.


int a; bajta b; ... ... b = (bajt) a;

Ko se „float“ pretvori v „int“, se velikost floata skrajša, saj „int“ ne shrani delne vrednosti. Če je velikost ciljne vrste premajhna, da bi se vrsta vira lahko vklopila, je vrsta vira ciljni tip modula „obseg“. Predvajanje se lahko uporabi tudi, če so tipi podatkov združljivi. Lestitev tipov je dobra uporaba, kjer koli je potrebna pretvorba vrst.

Opredelitev pretvorbe tipa

Pretvorba tipa je samodejna pretvorba ene vrste podatkov v drugo, kadar to zahteva izrecno, prevajalnik. Pred pretvorbo tipa morata biti izpolnjena dva pogoja.

  • Izvorni in ciljni tip morata biti združljivi.
  • Vrsta cilja mora biti večja od vrste vira.

Ta dva pogoja morata izpolnjevati, da se doseže pretvorba tipa, in ta vrsta pretvorbe se imenuje "razširjena pretvorba", saj se manjši tip pretvori v večji tip, pride do širitve tipa. Za to razširjeno pretvorbo so numerične vrste kot "int", "float" kompatibilne med seboj, medtem ko numerične do char in boolean ali char to boolean prav tako niso združljive.

Primer

Ta primer bo omogočil boljši prikaz tega

int a = 3; plovec b; b = a; // vrednost v b = 3.000.

Tu se 'int' pretvori v 'float', ki je večji od 'int', zato pride do razširitve vrste vira. Tukaj ni potreben noben operater uvajanja, saj bo prevajalnik to izrecno storil.

  1. Osnovna razlika, ki razlikuje vlivanje tipov od pretvorbe vrst, je, da je litje tipa pretvorba ene vrste v drugo, ki jo opravi programer. Po drugi strani je pretvorba tipa pretvorba ene vrste v drugo, ki jo opravi prevajalnik med prevajanjem.
  2. Vlivanje tipa se lahko uporabi za podatkovne tipe, ki morda niso združljivi med seboj. Nasprotno pa se pretvorba vrst lahko uporabi samo za podatkovne tipe, ki so med seboj kompatibilni.
  3. Za pretvorbo ene vrste v drugo v uvajanju tipa je potreben operater vlivanja "()", medtem ko pretvorba ene vrste podatkov v drugo v pretvorbi tipa ne potrebuje nobenega operaterja.
  4. Med pretvorbo ene vrste podatkov v drugo pri predvajanju vrst je ciljni tip lahko večji ali manjši od vrste vira. V nasprotju s tem mora biti ciljna vrsta večja od vrste v pretvorbi tipa.
  5. Pretvorba ene vrste v drugo se izvede pri kodiranju v ulivanju tipa. Nasprotno pa se pri pretvorbi tipa pretvorba ene vrste v drugo opravi izrecno med prevajanjem.
  6. Ulivanje tipa se imenuje zožitev pretvorbe, ker je tukaj vrsta cilja lahko manjša od vrste vira. V nasprotju s tem se pretvorba tipa imenuje razširjena pretvorba, ker mora biti tukaj vrsta cilja večja od vrste vira.

Zaključek:

Sklepamo lahko, da pretvorba tipa in uvajanje tipa opravljata nalogo pretvorbe ene podatkovne vrste v drugo, vendar se razlikujeta v smislu, da vlivanje tipa opravi programer z uporabo operaterja cast () in pretvorbo tipa opravi prevajalnik , in ne uporablja nobenega operaterja.