Diferència entre el tipus de cast i la conversió de tipus

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 4 Ser Possible 2024
Anonim
Diferència entre el tipus de cast i la conversió de tipus - Tecnologia
Diferència entre el tipus de cast i la conversió de tipus - Tecnologia

Content


La diferència bàsica entre la conversió de tipus i el tipus de colada, és a dir, la conversió de tipus es fa "automàticament" pel compilador, mentre que, el programador s'ha de fer "explícitament" pel programador.

Els dos termes "tipus de càsting" i "conversió de tipus" es produeixen quan es necessita convertir un tipus de dades a un altre. Quan els dos tipus són compatibles entre ells, el compilador es converteix automàticament en la conversió d'un tipus a un altre. Anem a discutir la diferència tant de tipus de colada com de conversió amb l'ajut del gràfic de comparació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació:

Bases per a la comparacióTipus de buidatgeConversió del tipus
SignificatL'usuari li assigna un tipus de dades a un altre usuari, utilitzant un operador de repartiment, que s'anomena "Type casting".La conversió d'un tipus de dades a una altra automàticament pel compilador s'anomena "conversió de tipus".
AplicatEl càsting de tipus també es pot aplicar a dos tipus de dades incompatibles.La conversió de tipus només es pot implementar quan dos tipus de dades són compatibles.
OperadorPer repartir un tipus de dades a un altre, cal un operador de colada ().No cal fer cap operador.
Mida dels tipus de dadesEl tipus de destinació pot ser més petit que el tipus d'origen.Aquí el tipus de destinació ha de ser més gran que el tipus font.
ImplementatEs realitza durant el disseny del programa.Es fa explícitament mentre es recopila.
Tipus de conversió

Conversió estreta.Conversió ampliada
Exempleint a;
byte b;
...
...
b = (byte) a;
int a = 3;
flotar b;
b = a; // valor en b = 3.000.


Definició de Type Casting

Colat tipus es pot definir com, emetent un tipus de dades a un altre tipus de dades, pel programador, en el moment del disseny del programa. La conversió automàtica d’un tipus de dades a una altra no és possible tot el temps. Pot ser la condició que el "tipus de destinació" sigui menor que el "tipus d'origen". Per tant, el programador ha de llançar explícitament el tipus de dades més gran a tipus de dades més petit amb l'operador de càsting "()". Com que el tipus de dades més gran es modula al tipus de dades més petit, també s’anomena “reducció de conversió”.

Declaració:

destination_type = (target_type) variable / valor // tipus objectiu és un tipus en què voleu convertir el tipus font, sempre és el tipus de destinació.

Exemple

Entenem-ho amb un exemple. Voleu convertir el tipus de dades "int" en "byte". Ara, com "byte" és menor que "int", no es permet la conversió de tipus. Aquí, hem hagut de convertir implícitament "int" en "byte" mitjançant l'operador de càsting "()". A mesura que "int" és més gran que "byte", la mida de "int" es reduirà a la gamma "int mod byte".


int a; byte b; ... ... b = (byte) a;

Quan el "float" es converteix en "int", la mida de float es trunca, ja que "int" no emmagatzema el valor fraccionari. Si la mida del tipus de destinació és massa petita perquè el tipus d'origen encaixi, el tipus d'origen és el tipus de destinació modulo "gamma". El càsting també es pot aplicar quan els tipus de dades són compatibles. És bona pràctica fer servir el tipus de colada sempre que sigui necessària la conversió del tipus.

Definició de conversió de tipus

Conversió de tipus és la conversió automàtica d'un tipus de dades a un altre sempre que sigui necessari, realitzada explícitament pel compilador. Però hi ha dues condicions a complir abans de la conversió de tipus.

  • El tipus d’origen i de destinació han de ser compatibles.
  • El tipus de destinació ha de ser més gran que el tipus d'origen.

Aquestes dues condicions haurien de satisfer-se per aconseguir la conversió de tipus, i aquest tipus de conversió s’anomena “ampliació de conversió”, ja que un tipus més petit es converteix en tipus més gran, es produeix l’eixample del tipus. Per a aquesta conversió d'ampliació, els tipus numèrics com "int", "float" són compatibles entre si, mentre que els numèrics a char i boolean o char a boolean tampoc són compatibles.

Exemple

Aquest exemple proporcionarà una millor visió d’això

int a = 3; flotar b; b = a; // valor en b = 3.000.

Aquí, "int" es converteix en "flotador" que és més gran que "int", de manera que es produeix l'ampliació del tipus de font. Aquí, no cal cap operador de càsting ja que el compilador ho farà explícitament.

  1. La diferència bàsica que distingeix el càsting de tipus de conversió de tipus és que la colada de tipus és la conversió d'un tipus a un altre, realitzada pel programador. D'altra banda, la conversió de tipus és la conversió d'un tipus a un altre, realitzada pel compilador durant la compilació.
  2. El càsting de tipus es pot aplicar als tipus de dades, que poden no ser compatibles entre ells. Per contra, la conversió de tipus només es pot aplicar als tipus de dades compatibles entre si.
  3. La conversió d’un tipus a un altre de tipus de colada requereix l’operador de colada “()” mentre que la conversió d’un tipus de dades a un altre en conversió de tipus no requereix cap operador.
  4. Mentre es converteix un tipus de dades en un altre de tipus de colada, el tipus de destinació pot ser més gran o menor que el tipus d'origen. En contraposició, el tipus de destinació ha de ser més gran que el tipus d'origen en la conversió del tipus.
  5. La conversió d’un tipus a un altre tipus es fa mentre es codifica en el tipus de colada. En canvi, en la conversió de tipus, la conversió d’un tipus a un altre es fa explícitament durant la compilació.
  6. El tipus de columna s'anomena "reducció de conversió", ja que aquí el tipus de destinació pot ser més petit que el tipus d'origen. A diferència del tipus de conversió, s’anomena conversió d’ampliació perquè aquí, el tipus de destinació ha de ser més gran que el tipus font.

Conclusió:

Es pot arribar a la conclusió que la conversió de tipus i el tipus de colada, ambdós realitzen la tasca de convertir un tipus de dades a un altre, però difereixen en el sentit que el càsting de tipus el fa el programador, utilitzant operador de repartiment () 'i la conversió de tipus la fa el compilador. i no utilitza cap operador.