logo

Skillnaden mellan typgjutning och typomvandling

De två termerna typ gjutning och den typkonvertering används i ett program för att konvertera en datatyp till en annan datatyp. Konvertering av datatyp är endast möjlig av kompilatorn när de är kompatibla med varandra. Låt oss diskutera skillnaden mellan typgjutning och typkonvertering i vilket programmeringsspråk som helst.

gör medan loop java

Vad är en typgjutning?

När en datatyp konverteras till en annan datatyp av en programmerare eller användare samtidigt som en programkod för något programmeringsspråk skrivs, är mekanismen känd som typ gjutning . Programmeraren använder den manuellt för att konvertera en datatyp till en annan. Den används om vi vill ändra måldatatypen till en annan datatyp. Kom ihåg att måldatatypen måste vara mindre än källdatatypen. Därför kallas det också en avsmalnande omvandling.

Skillnaden mellan typgjutning och typomvandling

Syntax:

 Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator 

Target_datatype: Det är den datatyp som vi vill konvertera destinationsdatatypen i. Variabeln definierar ett värde som ska konverteras i typen target_data. Låt oss förstå begreppet typgjutning med ett exempel.

Antag att vi vill konvertera flyta datatyp i int data typ. Här är måldatatypen mindre än källdata eftersom storleken på int är 2 byte, och storleken på flyta datatypen är 4 byte. Och när vi ändrar det, trunkeras värdet på flytvariabeln och omvandlas till en heltalsvariabel. Casting kan göras med en kompatibel och icke-kompatibel datatyp.

anropar js-funktionen från html
 float b = 3.0; int a = (int) b; // converting a float value into integer 

Låt oss förstå typen som kastar genom ett C-program.

AreaOfRectangle.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:

Skillnaden mellan typgjutning och typomvandling

Vad är typkonvertering?

Om en datatyp automatiskt konverteras till en annan datatyp vid kompilering kallas det typkonvertering. Konverteringen utförs av kompilatorn om båda datatyperna är kompatibla med varandra. Kom ihåg att destinationsdatatypen inte bör vara mindre än källtypen. Det är också känt som vidgning konvertering av datatypen.

c-sträng i array
Skillnaden mellan typgjutning och typomvandling

Låt oss förstå typkonverteringen med ett exempel.

Antag att vi har en int datatyp och vill konvertera den till en flyta data typ. Dessa är datatyper som är kompatibla med varandra eftersom deras typer är numeriska och storleken på int är 2 byte, vilket är mindre än flytande datatyp. Därför konverterar kompilatorn automatiskt datatyperna utan att förlora eller trunkera värdena.

 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 exemplet ovan konverteras int-datatypen till float, som har en större storlek än int, och därför breddar den källdatatypen.

Låt oss förstå typkonvertering genom ett 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:

Skillnaden mellan typgjutning och typomvandling

Skillnaden mellan typgjutning och typomvandling

S.N. Typ Gjutning Typkonvertering
1 Typcasting är en mekanism där en datatyp omvandlas till en annan datatyp med hjälp av en casting-operator () av ​​en programmerare. Typkonvertering tillåter en kompilator att konvertera en datatyp till en annan datatyp vid kompileringstillfället för ett program eller en kod.
2 Det kan användas både kompatibel datatyp och inkompatibel datatyp. Typkonvertering används endast med kompatibla datatyper och kräver därför ingen gjutningsoperatör.
3 Det kräver en programmerare för att manuellt casta en data till en annan typ. Det kräver ingen programmeringsingripande för att konvertera en datatyp till en annan eftersom kompilatorn automatiskt kompilerar den vid körning av ett program.
4 Den används av programmeraren när du designar ett program. Det används eller äger rum vid kompileringstiden för ett program.
5 När du castar en datatyp till en annan måste måldatatypen vara mindre än källdata. När du konverterar en datatyp till en annan bör destinationstypen vara större än källdatatypen.
6 Det är också känt som avsmalnande konvertering eftersom en större datatyp konverterar till en mindre datatyp. Det är också känt som breddningskonvertering eftersom en mindre datatyp konverterar till en större datatyp.
7 Det är mer pålitligt och effektivt. Det är mindre effektivt och mindre pålitligt.
8 Det finns en möjlighet att data eller information går förlorad vid typgjutning. Vid typkonvertering är det osannolikt att data går förlorade vid konvertering från en liten till en stor datatyp.
8
float b = 3.0; int a = (int) b
int x = 5, y = 2, c; float q = 12.5, p; p = q/x;