Recommandé, 2024

Choix De L'Éditeur

Différence entre le moulage de type et la conversion de type

Les deux termes «conversion de type» et «conversion de type» apparaissent lorsqu'il est nécessaire de convertir un type de données en un autre. Lorsque les deux types sont compatibles, la conversion d'un type en un autre est effectuée automatiquement par le compilateur. Cependant, il existe une différence fondamentale entre la conversion de type et la conversion de type. En effet, la conversion de type est effectuée "automatiquement" par le compilateur, tandis que la conversion de type doit être "explicitement effectuée" par le programmeur. Discutons de la différence entre le transtypage et la conversion à l'aide du tableau de comparaison.

Tableau de comparaison:

Base de comparaisonType CastingConversion de type
SensUn type de données est attribué à un autre par l'utilisateur, à l'aide d'un opérateur de transtypage, il s'appelle "Type Casting".La conversion d'un type de données en un autre automatiquement par le compilateur s'appelle "Conversion de type".
AppliquéLe transtypage peut également être appliqué à deux types de données «incompatibles».La conversion de type ne peut être implémentée que lorsque deux types de données sont «compatibles».
OpérateurPour transtyper un type de données vers un autre, un opérateur de transtypage '()' est requis.Aucun opérateur requis.
Taille des types de donnéesLe type de destination peut être plus petit que le type de source.Ici, le type de destination doit être plus grand que le type de source.
Mis en œuvreCela se fait lors de la conception du programme.Cela se fait explicitement lors de la compilation.
Type de conversion
Conversion plus étroite.Élargissement de la conversion.
Exempleint a;
l'octet b;
...
...
b = (octet) a;
int a = 3;
float b;
b = a; // valeur en b = 3.000.

Définition de moulage de type

Le transtypage de type peut être défini comme étant la transposition d'un type de données dans un autre type de données, par le programmeur, au moment de la conception du programme. Une conversion automatique d'un type de données en un autre, n'est pas possible tout le temps. Cela peut être la condition que le "type de destination" soit plus petit que le "type de source". Le programmeur doit donc convertir explicitement le type de données le plus volumineux en un type de données plus petit à l'aide de l'opérateur de transtypage "()". Comme le type de données plus volumineux est modulé pour le type de données plus volumineux, on l'appelle également «conversion restrictive».

Déclaration:

 destination_type = (target_type) variable / valeur // type cible est un type dans lequel vous voulez convertir le type source mais toujours le type de destination. 

Comprenons-le avec un exemple. Vous souhaitez convertir le type de données "int" en "octet". Désormais, comme "octet" est inférieur à "int", la conversion de type n'est pas autorisée. Ici, nous devions implicitement convertir "int" en "octet" en utilisant l'opérateur de casting "()". Comme "int" est plus grand que "octet", la taille de "int" sera réduite à la plage "int mod byte".

 int a; l'octet b; ... ... b = (octet) a; 

Lorsque le 'float' est converti en 'int', la taille du float est tronquée, car 'int' ne stocke pas la valeur fractionnelle. Si la taille du type de destination est trop petite pour que le type de source puisse tenir, le type de source est le type de destination modulo 'plage'. Le transtypage peut également être appliqué lorsque les types de données sont compatibles. Il est recommandé d’utiliser le transtypage lorsque la conversion de type est nécessaire.

Définition de conversion de type

La conversion de type est la conversion automatique d'un type de données en un autre, à la demande du compilateur. Mais il y a deux conditions à remplir avant la conversion de type.

  • Le type de source et de destination doit être compatible.
  • Le type de destination doit être plus grand que le type de source.

Ces deux conditions doivent être satisfaites pour obtenir une conversion de type, et ce type de conversion est appelé «conversion d'élargissement», puisqu'un type plus petit est converti en type plus grand, un élargissement de type se produit. Pour cette conversion en élargissement, les types numériques tels que 'int', 'float' sont compatibles les uns avec les autres, tandis que numérique pour char et boolean ou car pour boolean n'est pas compatible.

Cet exemple fournira une meilleure vue de cette

 int a = 3; float b; b = a; // valeur en b = 3.000. 

Ici, "int" est converti en "float", qui est plus grand que "int", ce qui entraîne un élargissement du type de source. Ici, aucun opérateur de casting n'est requis car le compilateur le fera explicitement.

Différences clés entre la conversion de type et la conversion de type

  1. La différence fondamentale qui distingue le transtypage du type de la conversion de type est que le transtypage est la conversion d'un type en un autre, effectuée par le programmeur. D'autre part, la conversion de type est une conversion d'un type à un autre, effectuée par le compilateur lors de la compilation.
  2. Le transtypage de types peut être appliqué aux types de données qui peuvent ne pas être compatibles les uns avec les autres, mais la conversion de types ne peut être appliquée qu'aux types de données compatibles.
  3. La conversion d'un type en un autre dans le transtypage nécessite l'opérateur de coulée «()», tandis que la conversion d'un type de données en un autre dans la conversion de type ne nécessite aucun opérateur.
  4. Lors de la conversion d'un type de données en un autre dans la transtypage, le type de destination peut être plus grand ou plus petit que le type source. D'autre part, le type de destination doit être plus grand que le type de source dans la conversion de type.
  5. La conversion d'un type en un autre type est effectuée lors du codage en transtypage tandis que, dans la conversion de type, la conversion d'un type en un autre est explicitement effectuée lors de la compilation.
  6. La conversion de type s'appelle conversion de rétrécissement car ici le type de destination peut être plus petit que le type source, alors que la conversion de type s'appelle élargissement parce qu'ici, le type de destination doit être plus grand que le type source.

Conclusion:

On peut en conclure que la conversion de type et la conversion de type remplissent toutes deux la tâche de convertir un type de données en un autre mais diffèrent en ce sens que la conversion de type est effectuée par le programmeur, à l'aide de l'opérateur de conversion '()' et que la conversion de type est effectuée par le programme de conversion. compilateur, et il n’utilise aucun opérateur.

Top