Cei doi termeni tip turnare si conversie de tip sunt utilizate într-un program pentru a converti un tip de date într-un alt tip de date. Conversia tipului de date este posibilă numai de către compilator atunci când acestea sunt compatibile între ele. Să discutăm despre diferența dintre turnarea tipului și conversia tipului în orice limbaj de programare.
Ce este o turnare tip?
Când un tip de date este convertit într-un alt tip de date de către un programator sau utilizator în timp ce scrie un cod de program din orice limbaj de programare, mecanismul este cunoscut ca tip turnare . Programatorul îl folosește manual pentru a converti un tip de date în altul. Este folosit dacă dorim să schimbăm tipul de date țintă cu un alt tip de date. Rețineți că tipul de date de destinație trebuie să fie mai mic decât tipul de date sursă. Prin urmare, se mai numește o conversie de îngustare.
Sintaxă:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Target_datatype: Este tipul de date în care dorim să convertim tipul de date de destinație. Variabila definește o valoare care urmează să fie convertită în tipul target_data. Să înțelegem conceptul de turnare tip cu un exemplu.
Să presupunem că vrem să convertim pluti tipul de date în int tip de date. Aici, tipul de date țintă este mai mic decât datele sursă, deoarece dimensiunea int este de 2 octeți, iar dimensiunea pluti tipul de date este de 4 octeți. Și când o schimbăm, valoarea variabilei float este trunchiată și convertită într-o variabilă întreagă. Castingul se poate face cu un tip de date compatibil și incompatibil.
float b = 3.0; int a = (int) b; // converting a float value into integer
Să înțelegem tipul de turnare printr-un program 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(); }
Ieșire:
Ce este conversia de tip?
Dacă un tip de date este convertit automat într-un alt tip de date în momentul compilării, este cunoscut ca conversie de tip. Conversia este efectuată de compilator dacă ambele tipuri de date sunt compatibile între ele. Rețineți că tipul de date destinație nu trebuie să fie mai mic decât tipul sursă. Este cunoscut și ca lărgirea conversia tipului de date.
Să înțelegem conversia tipului cu un exemplu.
Să presupunem că avem un int tip de date și doriți să-l convertiți într-un pluti tip de date. Acestea sunt tipuri de date compatibile între ele, deoarece tipurile lor sunt numerice, iar dimensiunea int este de 2 octeți, ceea ce este mai mic decât tipul de date float. Prin urmare, compilatorul convertește automat tipurile de date fără a pierde sau trunchia valorile.
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. */
În exemplul de mai sus, tipul de date int este convertit în float, care are o dimensiune mai mare decât int și, prin urmare, lărgește tipul de date sursă.
Să înțelegem conversia tipului printr-un program 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(); }
Ieșire:
Diferența dintre turnarea tipului și conversia tipului
S.N. | Tip Casting | Conversie tip |
---|---|---|
1 | Castingul de tip este un mecanism prin care un tip de date este convertit într-un alt tip de date folosind un operator de turnare () de către un programator. | Conversia tipului permite unui compilator să convertească un tip de date într-un alt tip de date în momentul compilării unui program sau cod. |
2 | Poate fi folosit atât tipul de date compatibil, cât și tipul de date incompatibil. | Conversia tipului este utilizată numai cu tipuri de date compatibile și, prin urmare, nu necesită niciun operator de turnare. |
3 | Este nevoie de un programator pentru a turna manual o dată într-un alt tip. | Nu necesită nicio intervenție a programatorului pentru a converti un tip de date în altul, deoarece compilatorul le compilează automat în timpul rulării unui program. |
4 | Este folosit în timpul proiectării unui program de către programator. | Este folosit sau are loc la momentul compilarii unui program. |
5 | Când proiectați un tip de date în altul, tipul de date de destinație trebuie să fie mai mic decât datele sursă. | Când convertiți un tip de date în altul, tipul de destinație ar trebui să fie mai mare decât tipul de date sursă. |
6 | Este, de asemenea, cunoscut sub numele de conversie de restrângere, deoarece un tip de date mai mare se convertește într-un tip de date mai mic. | Este cunoscută și sub numele de conversie extinsă, deoarece un tip de date mai mic se convertește într-un tip de date mai mare. |
7 | Este mai fiabil și mai eficient. | Este mai puțin eficient și mai puțin fiabil. |
8 | Există posibilitatea ca datele sau informațiile să se piardă în turnarea tipului. | În conversia tipului, este puțin probabil ca datele să se piardă la conversia de la un tip de date mic la unul mare. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |