De twee termen soort gieten en de soort conversie worden in een programma gebruikt om het ene gegevenstype naar een ander gegevenstype te converteren. De conversie van gegevenstypes is alleen mogelijk door de compiler als ze compatibel zijn met elkaar. Laten we het verschil bespreken tussen typecasting en typeconversie in elke programmeertaal.
Java-logo
Wat is een typecasting?
Wanneer een datatype door een programmeur of gebruiker wordt omgezet in een ander datatype tijdens het schrijven van een programmacode van een programmeertaal, staat het mechanisme bekend als soort gieten . De programmeur gebruikt het handmatig om het ene gegevenstype naar het andere te converteren. Het wordt gebruikt als we het doelgegevenstype willen wijzigen in een ander gegevenstype. Houd er rekening mee dat het doelgegevenstype kleiner moet zijn dan het brongegevenstype. Daarom wordt het ook wel een vernauwingsconversie genoemd.
Syntaxis:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Doelgegevenstype: Het is het gegevenstype waarin we het doelgegevenstype willen converteren. De variabele definieert een waarde die moet worden geconverteerd in het target_data type. Laten we het concept van typecasting begrijpen met een voorbeeld.
Stel dat we de vlot gegevenstype in int data type. Hier is het doelgegevenstype kleiner dan de brongegevens vanwege de grootte van int is 2 bytes, en de grootte van de vlot gegevenstype is 4 bytes. En als we het veranderen, wordt de waarde van de float-variabele afgekapt en omgezet in een integer-variabele. Casten kan worden gedaan met een compatibel en niet-compatibel gegevenstype.
Java-nummer naar string
float b = 3.0; int a = (int) b; // converting a float value into integer
Laten we het typecasten via een C-programma begrijpen.
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(); }
Uitgang:
Wat is typeconversie?
Als een gegevenstype tijdens het compileren automatisch wordt geconverteerd naar een ander gegevenstype, wordt dit typeconversie genoemd. De conversie wordt door de compiler uitgevoerd als beide gegevenstypen compatibel zijn met elkaar. Houd er rekening mee dat het doelgegevenstype niet kleiner mag zijn dan het brontype. Het is ook bekend als verbreding conversie van het gegevenstype.
Python-lijst initialiseren
Laten we de typeconversie begrijpen met een voorbeeld.
Stel, we hebben een int gegevenstype en u wilt dit converteren naar een vlot data type. Dit zijn gegevenstypen die met elkaar compatibel zijn omdat hun typen numeriek zijn en de grootte van int 2 bytes is, wat kleiner is dan het float-gegevenstype. Daarom converteert de compiler de gegevenstypen automatisch zonder de waarden te verliezen of af te korten.
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. */
In het bovenstaande voorbeeld wordt het gegevenstype int omgezet in de float, die groter is dan int, en daardoor het brongegevenstype vergroot.
Laten we typeconversie via een C-programma begrijpen.
#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(); }
Uitgang:
Verschil tussen typecasting en typeconversie
S.N. | Type Casting | Type conversie |
---|---|---|
1 | Type casting is een mechanisme waarbij het ene gegevenstype door een programmeur wordt geconverteerd naar een ander gegevenstype met behulp van een casting ()-operator. | Met typeconversie kan een compiler het ene gegevenstype naar een ander gegevenstype converteren tijdens het compileren van een programma of code. |
2 | Het kan zowel een compatibel gegevenstype als een incompatibel gegevenstype worden gebruikt. | Typeconversie wordt alleen gebruikt met compatibele gegevenstypen en vereist daarom geen castingoperator. |
3 | Er is een programmeur voor nodig om gegevens handmatig naar een ander type te converteren. | Er is geen tussenkomst van een programmeur nodig om het ene gegevenstype naar het andere te converteren, omdat de compiler deze automatisch compileert tijdens de uitvoering van een programma. |
4 | Het wordt gebruikt bij het ontwerpen van een programma door de programmeur. | Het wordt gebruikt of vindt plaats tijdens het compileren van een programma. |
5 | Wanneer u het ene gegevenstype naar het andere cast, moet het doelgegevenstype kleiner zijn dan de brongegevens. | Bij het converteren van het ene gegevenstype naar het andere moet het doeltype groter zijn dan het brongegevenstype. |
6 | Het wordt ook wel vernauwingsconversie genoemd, omdat een groter gegevenstype wordt geconverteerd naar een kleiner gegevenstype. | Het wordt ook wel verbredende conversie genoemd, omdat een kleiner gegevenstype wordt geconverteerd naar een groter gegevenstype. |
7 | Het is betrouwbaarder en efficiƫnter. | Het is minder efficiƫnt en minder betrouwbaar. |
8 | Er bestaat een mogelijkheid dat gegevens of informatie verloren gaan bij het casten van typen. | Bij typeconversie is het onwaarschijnlijk dat gegevens verloren gaan bij het converteren van een klein naar een groot gegevenstype. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |