Typecasting è una procedura per trasformare i dati tra diversi tipi di dati. Questo metodo di conversione dei dati è anche definito conversione di tipo o coercizione di tipo. Il casting consente di modificare il tipo di dati anziché i dati stessi. C ++ supporta il typecasting per tutti i tipi di dati. Questo articolo discuterà di un metodo di typecasting: la conversione dal tipo di dati INT al tipo di dati doppio. Esploreremo diversi approcci che convertiranno semplicemente INT in Doppia il tipo di dati.
Due categorie di conversione in C++
Conversione di tipo implicita
La conversione di tipo implicita viene eseguita spontaneamente. In questa conversione, l'utente non ha input e il compilatore esegue interamente la conversione. Quando ci sono molti tipi di dati in un'espressione, la conversione viene spesso eseguita. Tuttavia, esiste il rischio di perdita di dati, perdita di segno o trabocco di dati con questa forma di conversione.
Conversione di tipo esplicita
Il tipo esplicito è definito dall'utente e talvolta viene definito "tipi di tipo."A seconda delle esigenze, l'utente traduce o converte i dati di un tipo di dati in un altro. Questi tipi di conversioni sono più sicuri.
Esempio 1
Il seguente esempio è il funzionamento della conversione di tipo implicito, che converte Int in doppio tipo di dati. Il programma inizia dai file di intestazione. Abbiamo due file di intestazione nella sezione di intestazione. Quindi c'è la funzione principale dell'implementazione del codice. Nella funzione principale, abbiamo definito una variabile come "intnumero" del tipo di dati interi e inizializzato con il valore integrale.
Allo stesso modo, abbiamo creato un'altra variabile come "doppio numero" del tipo di dati doppio, ma non è inizializzato. Ora, dobbiamo convertire il valore del tipo di dati INT nel valore del doppio tipo di dati. Quindi, abbiamo assegnato la variabile INT "Intnumer" a una variabile a doppio tipo di dati "Doublenumber". Questo approccio è la conversione di tipo implicita. I valori del tipo di dati INT e del doppio tipo di dati verranno stampati tramite il comando C ++ Cout.
Prima di assegnare il valore INT alla doppia variabile, il compilatore lo trasforma in raddoppio automaticamente. Come puoi vedere nell'immagine, l'INT non può includere un valore decimale e le cifre dopo il punto decimale sono troncate in questo esempio.
Esempio 2
Abbiamo visto la conversione di int per raddoppiare nell'esempio precedente. Ora, convertiremo il doppio in int, che viene fatto anche attraverso la conversione implicita.
Nel primo passaggio, abbiamo incluso file di spazio dei nomi iostream e std. Quindi, abbiamo invocato la funzione principale del programma, in cui abbiamo dichiarato una variabile di tipo dati intero "intval". Inoltre, abbiamo dichiarato un'altra variabile di doppio tipo di dati come "doubleval" e inizializzato con il doppio valore in quanto contiene una parte decimale. Per la conversione, abbiamo assegnato la doppia variabile alla variabile int. Il valore di conversione di tipo implicito verrà stampato sulla schermata della console durante l'esecuzione del programma.
È possibile vedere il doppio valore e la conversione di dati doppi nei dati INT come output.
Esempio 3
Come possiamo vedere dall'esempio precedente, la conversione da un tipo di dati a un altro è una possibilità di perdita di dati. Ciò si verifica quando i dati di tipo più grande vengono trasformati in dati di tipo più piccolo. Per superare il problema della perdita di dati, abbiamo eseguito una conversione di tipo esplicita. Il casting di tipo esplicito viene eseguito tramite il typecasting in stile C. Come suggerisce il nome, favorisce una forma di linguaggio C di casting. La notazione del cast è un altro termine per questo.
Il programma inizia con la sezione di intestazione, che include i file C ++. Nella fase successiva, la funzione principale viene creata in cui la variabile è definita come "intnumber" del tipo di dati "int" e memorizza il valore integrale. Un'altra variabile è dichiarata come "doppio numero" di tipo di dati "doppio".
Quindi, abbiamo usato il metodo di fusione del tipo C in stile C, che utilizza la doppia notazione del tipo con la variabile INT e la assegna alla doppia variabile, "Doublenumber". Questi valori verranno stampati utilizzando il comando C ++ Cout.
La parte decimale è troncata in quanto il tipo di dati INT non ha alcun tipo di dati.
Esempio 4
La funzione notazione può anche spostare i dati tra diversi tipi di dati. Il seguente programma utilizza la casting in stile funzione per convertire INT in TIPO DI DATI DOPPLICE.
Abbiamo la funzione principale in cui abbiamo creato una variabile del tipo di dati INT come "integer_x" e la inizializzata con il valore numerico "20". La variabile a doppio tipo è anche definita come "double_y". Quindi, abbiamo usato la funzione di typecasting per convertire i dati INT in doppio tipo. Abbiamo superato la variabile INT "integer_x" come funzione e definita con il tipo di dati "doppio". La variabile "doppia y" viene successivamente assegnata alla funzione.
Il risultato del casting in stile funzione eseguito sul tipo INT per convertire in doppio tipo di dati visualizzato sulla seguente immagine:
Esempio 5
Per la conversione del tipo di doppio in int, abbiamo implementato sia la conversione di tipo C sia la casting in stile funzione. Ciò mostrerà i risultati dei due modi di esplicito typecasting.
Nel blocco delle funzioni principali di questo programma, abbiamo una variabile a doppio tipo di dati come "doublex" e inizializzata con il valore decimale. Quindi, abbiamo creato altre due variabili, "integer1" e "integer2", e abbiamo assegnato un tipo di dati int. La variabile INT "Integer1" viene utilizzata per la conversione in stile C e la variabile INT "IntegRe2" viene utilizzata per la conversione dello stile di funzione. I valori convertiti in numeri interi da doppi dati verranno stampati dopo aver eseguito sia la conversione.
Poiché entrambi i modi di conversione esplicita fanno la stessa cosa, producono gli stessi seguenti risultati:
Conclusione
Concluderemo la nostra discussione sul typecasting di int per raddoppiare in c++. Abbiamo appreso le conversioni implicite ed esplicite dei dati INT per raddoppiare e raddoppiare il tipo di dati INT utilizzato in C++. Tuttavia, conversioni o tipografi possono essere utilizzati solo attentamente e solo se necessario per evitare la perdita di dati e altri problemi.