Che cos'è la conversione di tipo?
La conversione del tipo è una forma di punzonatura del tipo, una tecnica utilizzata nell'informatica e nella programmazione di software in cui il tipo di dati di un'entità specifica viene modificato in un diverso tipo di dati. Il concetto di punzonatura dei tipi è nato per aggirare il sistema di tipi specificato di un linguaggio di programmazione in modo da poter ottenere determinati effetti che altrimenti sarebbero difficili da fare entro i confini della definizione formale del linguaggio di programmazione. La conversione del tipo, essendo la forma più comune di punzonatura del tipo, è possibile praticamente in tutti i linguaggi di programmazione, sebbene alcuni linguaggi offrano metodi aggiuntivi di punzonatura del tipo, come l'unione o la reinterpretazione. Alcune guide di stile di programmazione suggeriscono di evitare la punzonatura dei tipi, anche se la conversione dei tipi viene spesso utilizzata comunque.
La conversione del tipo viene talvolta definita anche tipografia o coercizione, a seconda del linguaggio di programmazione utilizzato. Ogni linguaggio di programmazione ha regole su come la conversione del tipo può essere utilizzata con successo. In generale, le conversioni possono aver luogo su tipi o oggetti fondamentali.
Esistono diversi tipi di dati fondamentali o classi di tipi di dati. Un tipo di dati comune utilizzato nelle operazioni matematiche sono numeri interi, o numeri semplici, che possono variare in migliaia o milioni, a seconda del numero di bit nella loro larghezza. Ad esempio, un numero intero a 32 bit può variare da zero a 4.294.967.295 o da -2.147.483.648 a 2.147.483.648. Un altro tipo è il numero in virgola mobile, che è praticamente qualsiasi numero con un punto decimale.
Caratteri singoli, come una lettera dell'alfabeto o un segno di punteggiatura, possono anche essere usati come tipo di dati. Un tipo di dati stringa è qualsiasi gruppo o sequenza di numeri e / o lettere senza interruzione; le lunghezze delle stringhe sono arbitrarie, ma la loro dimensione o limite è generalmente definita nel linguaggio di programmazione. Il più vecchio dei tipi di dati è il booleano, che è semplicemente vero o falso. Altre classi di tipi includono algebrico, funzioni, dati macchina e oggetti. Ad esempio, nei linguaggi orientati agli oggetti, l'antenato di un oggetto può utilizzare il tipo di oggetto padre in modo che le loro interazioni tra loro vadano più agevolmente.
Le specifiche della conversione del tipo non entrano davvero in gioco finché non vengono prese in considerazione le regole di un particolare linguaggio di programmazione. Alcune regole del linguaggio dettano ulteriormente se una conversione di tipo sia implicita o esplicita. Una conversione di tipo implicito viene spesso chiamata coercizione e di solito avviene nel momento in cui un programma viene compilato dal codice sorgente in un programma eseguibile. Ciò può accadere, ad esempio, se in un'espressione vengono utilizzati più tipi di dati e viene eseguito un confronto. La conversione del tipo è considerata implicita e il compilatore la gestisce automaticamente; una conversione esplicita del tipo è definita nel codice del programma. Il linguaggio di programmazione C fa una distinzione tra i due, definendo una conversione di tipo implicito una coercizione e una conversione di tipo esplicita un cast.
Un semplice esempio di una conversione di tipo comune sarebbero le operazioni matematiche sui numeri in un programma per computer. Un programma per computer che riceve un numero decimale, un tipo di dati a virgola mobile, poiché l'input potrebbe dover convertire il numero in un tipo di dati intero per eseguire operazioni matematiche o viceversa. Questa conversione consente all'operazione di procedere.