Les deux termes moulage de caractères et le conversion de types sont utilisés dans un programme pour convertir un type de données en un autre type de données. La conversion des types de données n'est possible que par le compilateur lorsqu'ils sont compatibles entre eux. Discutons de la différence entre la conversion de type et la conversion de type dans n'importe quel langage de programmation.
Qu'est-ce qu'un casting de type ?
Lorsqu'un type de données est converti en un autre type de données par un programmeur ou un utilisateur lors de l'écriture d'un code de programme dans n'importe quel langage de programmation, le mécanisme est appelé moulage de caractères . Le programmeur l'utilise manuellement pour convertir un type de données en un autre. Il est utilisé si nous voulons changer le type de données cible en un autre type de données. N'oubliez pas que le type de données de destination doit être plus petit que le type de données source. C’est pourquoi on parle également de conversion restrictive.
Syntaxe:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Type de données cible : C'est le type de données dans lequel nous voulons convertir le type de données de destination. La variable définit une valeur qui doit être convertie dans le type target_data. Comprenons le concept de conversion de type avec un exemple.
Supposons que nous voulions convertir le flotter type de données dans int Type de données. Ici, le type de données cible est plus petit que les données source car la taille de int est de 2 octets, et la taille du flotter le type de données est de 4 octets. Et lorsque nous la modifions, la valeur de la variable float est tronquée et convertie en variable entière. La diffusion peut être effectuée avec un type de données compatible et non compatible.
float b = 3.0; int a = (int) b; // converting a float value into integer
Comprenons le casting de type via un programme C.
ZoneDeRectangle.c
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf(' Area of a Rectangle is : %d', area); printf(' Here, we convert float data type into the Int data type'); getch(); }
Sortir:
Qu’est-ce que la conversion de type ?
Si un type de données est automatiquement converti en un autre type de données au moment de la compilation, on parle de conversion de type. La conversion est effectuée par le compilateur si les deux types de données sont compatibles entre eux. N'oubliez pas que le type de données de destination ne doit pas être plus petit que le type source. Il est également connu sous le nom élargissement conversion du type de données.
Comprenons la conversion de type avec un exemple.
Supposons que nous ayons un int type de données et que vous souhaitez le convertir en un flotter Type de données. Ce sont des types de données compatibles les uns avec les autres car leurs types sont numériques et la taille de int est de 2 octets, ce qui est plus petit que le type de données float. Par conséquent, le compilateur convertit automatiquement les types de données sans perdre ni tronquer les valeurs.
int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */
Dans l'exemple ci-dessus, le type de données int est converti en float, qui a une taille plus grande que int, et élargit donc le type de données source.
Comprenons la conversion de type via un programme C.
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf(' Area of a Rectangle is : %f', area); printf(' Here, we convert int data type to the float data type'); getch(); }
Sortir:
Différence entre la conversion de type et la conversion de type
S.N. | Moulage de caractères | Conversion de types |
---|---|---|
1 | Le transtypage de type est un mécanisme dans lequel un type de données est converti en un autre type de données à l'aide d'un opérateur de transtypage () par un programmeur. | La conversion de type permet à un compilateur de convertir un type de données en un autre type de données au moment de la compilation d'un programme ou d'un code. |
2 | Il peut être utilisé à la fois avec un type de données compatible et avec un type de données incompatible. | La conversion de type n'est utilisée qu'avec des types de données compatibles et ne nécessite donc aucun opérateur de conversion. |
3 | Cela nécessite qu'un programmeur convertisse manuellement une donnée en un autre type. | Il ne nécessite aucune intervention du programmeur pour convertir un type de données en un autre car le compilateur le compile automatiquement au moment de l'exécution d'un programme. |
4 | Il est utilisé lors de la conception d'un programme par le programmeur. | Il est utilisé ou a lieu au moment de la compilation d'un programme. |
5 | Lors de la conversion d'un type de données en un autre, le type de données de destination doit être plus petit que les données source. | Lors de la conversion d'un type de données en un autre, le type de destination doit être supérieur au type de données source. |
6 | On parle également de conversion restrictive, car un type de données plus grand est converti en un type de données plus petit. | On parle également d'élargissement de la conversion, car un type de données plus petit est converti en un type de données plus grand. |
7 | C’est plus fiable et efficace. | C’est moins efficace et moins fiable. |
8 | Il existe une possibilité de perte de données ou d'informations lors de la conversion de type. | Lors de la conversion de type, il est peu probable que les données soient perdues lors de la conversion d'un type de données petit à un type de données volumineux. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |