logo

Differenza tra fusione del tipo e conversione del tipo

I due termini tipo fusione e il conversione del tipo vengono utilizzati in un programma per convertire un tipo di dati in un altro tipo di dati. La conversione del tipo di dati è possibile solo da parte del compilatore quando sono compatibili tra loro. Parliamo della differenza tra cast di tipo e conversione di tipo in qualsiasi linguaggio di programmazione.

Cos'è un casting di tipo?

Quando un tipo di dati viene convertito in un altro tipo di dati da un programmatore o da un utente durante la scrittura di un codice di programma di qualsiasi linguaggio di programmazione, il meccanismo è noto come tipo fusione . Il programmatore lo utilizza manualmente per convertire un tipo di dati in un altro. Viene utilizzato se vogliamo modificare il tipo di dati di destinazione in un altro tipo di dati. Ricordare che il tipo di dati di destinazione deve essere inferiore al tipo di dati di origine. Quindi è anche chiamata conversione di restringimento.

Differenza tra fusione del tipo e conversione del tipo

Sintassi:

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

Tipo_dati_destinazione: È il tipo di dati in cui vogliamo convertire il tipo di dati di destinazione. La variabile definisce un valore che deve essere convertito nel tipo target_data. Comprendiamo il concetto di type casting con un esempio.

Supponiamo di voler convertire il file galleggiante tipo di dati in int tipo di dati. In questo caso, il tipo di dati di destinazione è inferiore ai dati di origine a causa della dimensione di int è 2 byte e la dimensione del file galleggiante il tipo di dati è 4 byte. E quando lo modifichiamo, il valore della variabile float viene troncato e convertito in una variabile intera. La trasmissione può essere eseguita con un tipo di dati compatibile e non compatibile.

programmi Java
 float b = 3.0; int a = (int) b; // converting a float value into integer 

Comprendiamo il casting del tipo attraverso un programma 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(); } 

Produzione:

Differenza tra fusione del tipo e conversione del tipo

Cos'è la conversione del tipo?

Se un tipo di dati viene convertito automaticamente in un altro tipo di dati in fase di compilazione, si parla di conversione del tipo. La conversione viene eseguita dal compilatore se entrambi i tipi di dati sono compatibili tra loro. Ricorda che il tipo di dati di destinazione non deve essere inferiore al tipo di origine. È anche noto come allargamento conversione del tipo di dati.

Differenza tra fusione del tipo e conversione del tipo

Capiamo la conversione del tipo con un esempio.

Supponiamo di avere un int tipo di dati e desideri convertirlo in un file galleggiante tipo di dati. Questi sono tipi di dati compatibili tra loro perché i loro tipi sono numerici e la dimensione di int è 2 byte, che è inferiore al tipo di dati float. Pertanto, il compilatore converte automaticamente i tipi di dati senza perdere o troncare i valori.

 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. */ 

Nell'esempio precedente, il tipo di dati int viene convertito nel float, che ha una dimensione maggiore di int, e quindi amplia il tipo di dati di origine.

Comprendiamo la conversione del tipo tramite un programma 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(); } 

Produzione:

Differenza tra fusione del tipo e conversione del tipo

Differenza tra fusione del tipo e conversione del tipo

S.N. Tipo Casting Conversione del tipo
1 Il type casting è un meccanismo in cui un tipo di dati viene convertito in un altro tipo di dati utilizzando un operatore casting () da un programmatore. La conversione del tipo consente a un compilatore di convertire un tipo di dati in un altro tipo di dati in fase di compilazione di un programma o codice.
2 Può essere utilizzato sia con un tipo di dati compatibile che con un tipo di dati incompatibile. La conversione del tipo viene utilizzata solo con tipi di dati compatibili e pertanto non richiede alcun operatore di cast.
3 Richiede che un programmatore trasmetta manualmente un dato in un altro tipo. Non richiede alcun intervento da parte del programmatore per convertire un tipo di dati in un altro perché il compilatore lo compila automaticamente durante l'esecuzione di un programma.
4 Viene utilizzato durante la progettazione di un programma da parte del programmatore. Viene utilizzato o avviene al momento della compilazione di un programma.
5 Quando si trasmette un tipo di dati a un altro, il tipo di dati di destinazione deve essere più piccolo dei dati di origine. Quando si converte un tipo di dati in un altro, il tipo di destinazione deve essere maggiore del tipo di dati di origine.
6 È nota anche come conversione restrittiva perché un tipo di dati più grande viene convertito in un tipo di dati più piccolo. È nota anche come conversione di ampliamento perché un tipo di dati più piccolo viene convertito in un tipo di dati più grande.
7 È più affidabile ed efficiente. È meno efficiente e meno affidabile.
8 Esiste la possibilità che dati o informazioni vengano persi durante il casting del tipo. Nella conversione del tipo, è improbabile che i dati vadano persi durante la conversione da un tipo di dati piccolo a uno di grandi dimensioni.
8
float b = 3.0; int a = (int) b
int x = 5, y = 2, c; float q = 12.5, p; p = q/x;