Dva izraza tipsko ulivanje in pretvorba tipa se uporabljajo v programu za pretvorbo ene vrste podatkov v drugo vrsto podatkov. Pretvorbo podatkovnega tipa lahko izvede samo prevajalnik, če sta med seboj združljiva. Pogovorimo se o razliki med pretvorbo tipa in pretvorbo tipa v katerem koli programskem jeziku.
Kaj je ulivanje tipa?
Ko programer ali uporabnik med pisanjem programske kode katerega koli programskega jezika pretvori tip podatkov v drug tip podatkov, je mehanizem znan kot tipsko ulivanje . Programer ga ročno uporabi za pretvorbo enega podatkovnega tipa v drugega. Uporablja se, če želimo ciljni podatkovni tip spremeniti v drug podatkovni tip. Ne pozabite, da mora biti ciljni podatkovni tip manjši od izvornega podatkovnega tipa. Zato se imenuje tudi zožitvena pretvorba.
Sintaksa:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Target_datatype: To je podatkovni tip, v katerega želimo pretvoriti ciljni podatkovni tip. Spremenljivka definira vrednost, ki jo je treba pretvoriti v tip target_data. Razumejmo koncept ulivanja tipa s primerom.
Recimo, da želimo pretvoriti lebdi podatkovni tip v int tip podatkov. Tu je ciljni podatkovni tip manjši od izvornih podatkov zaradi velikosti int je 2 bajta in velikost lebdi podatkovni tip je 4 bajtov. In ko jo spremenimo, je vrednost spremenljivke float okrnjena in pretvorjena v spremenljivko celo število. Casting je mogoče izvesti z združljivim in nezdružljivim tipom podatkov.
float b = 3.0; int a = (int) b; // converting a float value into integer
Razumejmo pretvorbo tipa prek programa C.
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(); }
Izhod:
Kaj je pretvorba tipov?
Če se podatkovni tip med prevajanjem samodejno pretvori v drug podatkovni tip, se to imenuje pretvorba tipa. Pretvorbo izvede prevajalnik, če sta oba tipa podatkov med seboj združljiva. Ne pozabite, da ciljni podatkovni tip ne sme biti manjši od izvornega tipa. Znan je tudi kot širitev pretvorbo podatkovnega tipa.
Razumejmo pretvorbo tipa s primerom.
Recimo, da imamo int in ga želite pretvoriti v a lebdi tip podatkov. To so podatkovni tipi, ki so med seboj združljivi, ker so njihovi tipi numerični in je velikost int 2 bajta, kar je manjše od podatkovnega tipa float. Zato prevajalnik samodejno pretvori podatkovne tipe, ne da bi pri tem izgubil ali okrnil vrednosti.
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. */
V zgornjem primeru je podatkovni tip int pretvorjen v float, ki ima večjo velikost kot int, in zato razširi izvorni podatkovni tip.
Razumejmo pretvorbo tipov s programom 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(); }
Izhod:
Razlika med ulivanjem tipa in pretvorbo tipa
S.N. | Vrsta Casting | Pretvorba vrste |
---|---|---|
1 | Prelivanje tipa je mehanizem, pri katerem programer en podatkovni tip pretvori v drug podatkovni tip z uporabo operatorja prelivanja (). | Pretvorba tipa omogoča prevajalniku, da pretvori en tip podatkov v drug tip podatkov v času prevajanja programa ali kode. |
2 | Uporablja se lahko tako združljiv podatkovni tip kot nezdružljiv podatkovni tip. | Pretvorba tipov se uporablja samo z združljivimi tipi podatkov in zato ne zahteva nobenega operaterja za pretvorbo. |
3 | Zahteva, da programer ročno pretvori en podatek v drugo vrsto. | Za pretvorbo ene podatkovne vrste v drugo ne potrebuje posredovanja programerja, ker jih prevajalnik samodejno prevede v času izvajanja programa. |
4 | Uporablja se med načrtovanjem programa s strani programerja. | Uporablja se ali poteka v času prevajanja programa. |
5 | Pri pretvarjanju enega podatkovnega tipa v drugega mora biti ciljni podatkovni tip manjši od izvornih podatkov. | Pri pretvarjanju enega podatkovnega tipa v drugega mora biti ciljni tip večji od izvornega podatkovnega tipa. |
6 | Znana je tudi kot zožena pretvorba, ker se en večji podatkovni tip pretvori v manjši podatkovni tip. | Znana je tudi kot razširitvena pretvorba, ker se en manjši podatkovni tip pretvori v večji podatkovni tip. |
7 | Je bolj zanesljiv in učinkovit. | Je manj učinkovit in manj zanesljiv. |
8 | Obstaja možnost izgube podatkov ali informacij pri ulivanju tipa. | Pri pretvorbi tipa ni verjetno, da bi se podatki izgubili pri pretvorbi iz majhnega v veliki podatkovni tip. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |