De to termer type støbning og typekonvertering bruges i et program til at konvertere en datatype til en anden datatype. Konvertering af datatype er kun mulig af compileren, når de er kompatible med hinanden. Lad os diskutere forskellen mellem typecasting og typekonvertering i et hvilket som helst programmeringssprog.
Hvad er en typestøbning?
Når en datatype konverteres til en anden datatype af en programmør eller bruger, mens en programkode for et hvilket som helst programmeringssprog skrives, er mekanismen kendt som type støbning . Programmøren bruger det manuelt til at konvertere en datatype til en anden. Det bruges, hvis vi ønsker at ændre måldatatypen til en anden datatype. Husk, at destinationsdatatypen skal være mindre end kildedatatypen. Derfor kaldes det også en indsnævrende konvertering.
Syntaks:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Target_datatype: Det er den datatype, som vi ønsker at konvertere destinationsdatatypen i. Variablen definerer en værdi, der skal konverteres i target_data-typen. Lad os forstå begrebet typestøbning med et eksempel.
Antag, at vi ønsker at konvertere flyde data indtast int datatype. Her er måldatatypen mindre end kildedataene, fordi størrelsen på int er 2 bytes, og størrelsen af flyde datatypen er 4 bytes. Og når vi ændrer det, afkortes værdien af float-variablen og konverteres til en heltalsvariabel. Casting kan udføres med en kompatibel og ikke-kompatibel datatype.
float b = 3.0; int a = (int) b; // converting a float value into integer
Lad os forstå typen, der kaster gennem et C-program.
AreaOfRektangel.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(); }
Produktion:
Hvad er typekonvertering?
Hvis en datatype automatisk konverteres til en anden datatype på kompileringstidspunktet, kaldes det typekonvertering. Konverteringen udføres af compileren, hvis begge datatyper er kompatible med hinanden. Husk, at destinationsdatatypen ikke bør være mindre end kildetypen. Det er også kendt som udvidelse konvertering af datatypen.
Lad os forstå typekonverteringen med et eksempel.
Antag, at vi har en int datatype og ønsker at konvertere den til en flyde datatype. Disse er datatyper, der er kompatible med hinanden, fordi deres typer er numeriske, og størrelsen af int er 2 bytes, hvilket er mindre end float-datatypen. Derfor konverterer compileren automatisk datatyperne uden at miste eller afkorte værdierne.
prøv at fange java
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. */
I ovenstående eksempel konverteres int-datatypen til float, som har en større størrelse end int, og derfor udvider det kildedatatypen.
Lad os forstå typekonvertering gennem et C-program.
#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(); }
Produktion:
Forskellen mellem typestøbning og typekonvertering
S.N. | Type Støbning | Typekonvertering |
---|---|---|
1 | Typecasting er en mekanisme, hvor en datatype konverteres til en anden datatype ved hjælp af en casting () operatør af en programmør. | Typekonvertering giver en compiler mulighed for at konvertere en datatype til en anden datatype på kompileringstidspunktet for et program eller en kode. |
2 | Det kan bruges både kompatibel datatype og inkompatibel datatype. | Typekonvertering bruges kun med kompatible datatyper, og det kræver derfor ikke nogen støbeoperatør. |
3 | Det kræver, at en programmør manuelt caster en data til en anden type. | Det kræver ikke nogen programmørintervention at konvertere en datatype til en anden, fordi compileren automatisk kompilerer den på et programs køretid. |
4 | Det bruges, mens programmøren designer et program. | Det bruges eller finder sted på kompileringstidspunktet for et program. |
5 | Når du caster en datatype til en anden, skal destinationsdatatypen være mindre end kildedataene. | Når du konverterer en datatype til en anden, skal destinationstypen være større end kildedatatypen. |
6 | Det er også kendt som indsnævrende konvertering, fordi en større datatype konverterer til en mindre datatype. | Det er også kendt som udvidelseskonvertering, fordi en mindre datatype konverterer til en større datatype. |
7 | Det er mere pålideligt og effektivt. | Det er mindre effektivt og mindre pålideligt. |
8 | Der er mulighed for, at data eller information går tabt ved typestøbning. | Ved typekonvertering er det usandsynligt, at data går tabt ved konvertering fra en lille til en stor datatype. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |