Cosa c'è di typecasting in c++?
Abbiamo già affermato che il typecasting converte una variabile o un'espressione da un tipo di dati a un altro. Esistono principalmente due tipi di typecasting in C ++, i.e., Typecasting implicito e tipografi espliciti. Nel primo tipo, non specifichiamo il tipo di dati in cui vogliamo digitare l'espressione, mentre, nel secondo tipo, dichiariamo esplicitamente il tipo di dati in cui vogliamo convertire l'espressione data.
Esempi di typecasting in C ++ in Ubuntu 20.04:
I seguenti esempi sono stati progettati per insegnarti alcune delle diverse forme di typecasting mettendole in relazione con scenari pertinenti. Dopo aver esaminato tutti questi esempi, sarai in grado di sapere come è possibile convertire un tipo di dati in un altro utilizzando efficacemente la tecnica di typecasting in C ++.
Esempio n. 1: conversione di un numero al suo carattere ASCII equivalente attraverso il tipo di tipografia in stile C:
In questo esempio, volevamo passare un numero al nostro codice C ++ e convertirlo nel suo carattere ASCII equivalente usando il typecasting in stile C. Il tipo di dati di typecasting è racchiuso tra parentesi rotonde nel linguaggio di programmazione C, seguito dall'espressione da essere lanciato. Sarai in grado di ottenere questo stile di typecasting passando attraverso il seguente programma C ++:
Per questo particolare esempio, abbiamo creato un file denominato "typecasting.CPP "che conterrà il nostro codice C ++. Abbiamo incluso prima la libreria richiesta in questo codice, seguito dallo spazio dei nomi "std". Quindi, abbiamo la nostra funzione "main ()" in cui abbiamo semplicemente usato la dichiarazione "cout" che stamperà l'equivalente ASCII del numero "65" sul terminale.
Una volta che abbiamo salvato il nostro codice C ++, l'abbiamo compilato usando il comando mostrato di seguito:
$ g ++ typecasting.CPP -O Typecasting
Abbiamo usato il compilatore "G ++" per la compilazione del nostro codice C ++, "Typecasting.CPP "è il nostro file di origine, mentre" typecasting "sarà il file oggetto che verrà creato a seguito di questa compilation.
Ora possiamo eseguire il nostro file oggetto con il seguente comando:
$ ./Typecasting
Il carattere equivalente ASCII del numero "65" è "A" come mostrato nell'immagine seguente:
Esempio n. 2: generazione dell'intera tabella ASCII tramite cysecasting in stile C:
Possiamo anche generare l'intera tabella ASCII usando lo stesso tipo di digitazione in stile C in Ubuntu 20.04. Per questo, abbiamo implementato il seguente codice C ++ sul nostro Ubuntu 20.04 Sistema:
In questo codice C ++, dopo aver incluso la libreria e lo spazio dei nomi necessari, abbiamo la nostra funzione "principale ()" in cui abbiamo un ciclo "per". Questo ciclo scorre su una variabile denominata "alfabeto". Abbiamo inizializzato questa variabile con il valore "0" mentre la condizione di terminazione per questo ciclo è "alfabeto<128”. After that, we have simply incremented our “alphabet” variable. Within the body of this loop, we have our “cout” statement that will print the ASCII equivalent character corresponding to each alphabet from 0 to 127.
Dopo aver salvato questo codice C ++, l'abbiamo compilato ed eseguito a seguito del quale siamo stati in grado di generare l'intera tabella ASCII sul nostro Ubuntu 20.04 Terminale come mostrato nell'immagine seguente:
Esempio n. 3: conversione di un galleggiante in un numero intero per un'operazione di assegnazione tramite tipografi funzionali:
In questo esempio, impareremo un diverso metodo di typecasting noto come typecasting funzionale. In questo metodo di typecasting, abbiamo il tipo di dati senza parentesi seguite dall'espressione da digitare scritto all'interno di staffe rotonde. Questo modo di typecasting sembra più come chiamare una funzione in C ++, motivo per cui è noto come typecasting funzionale. Inoltre, questa è una forma di typecasting esplicito. Il nostro obiettivo principale in questo esempio è convertire un numero di punto mobile in un numero intero per un'operazione di assegnazione. Puoi vedere il seguente codice C ++ per sapere esattamente cosa intendiamo fare:
In questo codice C ++, abbiamo dichiarato una variabile float "X" e gli abbiamo assegnato il valore "12.4 ". Quindi, abbiamo dichiarato una "Y" variabile che ha il tipo di dati interi. Volevamo assegnare il valore della variabile "x" a "y" che è possibile solo se "x" è anche un numero intero. Pertanto, dobbiamo digitare la variabile "x" nel tipo di dati interi mentre lo assegniamo a "y". Infine, volevamo stampare il valore della variabile "y" sul terminale per vedere se l'assegnazione variabile era avvenuta correttamente o no.
Quando abbiamo eseguito questo codice, il valore della variabile "y" si è rivelato essere "12", il che significa che l'assegnazione variabile ha avuto successo perché ogni volta che proviamo a digitare un numero di punto mobile a un numero intero, la sua parte decimale è sempre troncata. Questo può essere visto dall'immagine qui sotto:
Esempio n. 4: conversione di un numero intero in un galleggiante per un'operazione di assegnazione tramite tipografi impliciti:
In questo esempio, impareremo ancora un altro diverso metodo di typecasting noto come typecasting implicito. In questo metodo di typecasting, non specifichiamo esplicitamente il tipo di dati in cui vogliamo digitare le nostre variabili; Piuttosto, questa decisione viene presa in fase di esecuzione in base al tipo di dati della variabile a cui viene assegnato un valore. Il nostro obiettivo principale in questo esempio è convertire il risultato della divisione di due numeri interi in un numero di punto mobile per un'operazione di assegnazione. Puoi vedere il seguente codice C ++ per sapere esattamente cosa intendiamo fare:
In questo codice C ++, abbiamo dichiarato due variabili interi, "x" e "y" e abbiamo assegnato loro i valori "12" e "5" rispettivamente. Quindi, abbiamo dichiarato una "z" variabile che ha il tipo di dati float. Volevamo assegnare il risultato di "x/y" a "z" che è possibile solo se il risultato di "x/y" è anche un galleggiante. Tuttavia, nel caso del tipografi impliciti, non dobbiamo necessariamente convertire "x/y" in un galleggiante; Piuttosto, può essere assegnato come è alla variabile "z" come abbiamo fatto nel nostro codice. Infine, volevamo stampare il valore della variabile "z" sul terminale per vedere se l'assegnazione variabile era avvenuta correttamente o no.
Quando abbiamo eseguito questo codice, il valore della variabile "z" si è rivelato essere "2", il che significa che l'assegnazione variabile ha avuto successo riguardo al typecasting implicito perché ogni volta che proviamo a typecast un numero intero per un galleggiante con typecasting implicito, il suo decimale La parte è sempre troncata. Questo può essere visto dall'immagine qui sotto:
Conclusione:
Volevamo spiegarti il concetto di typecasting in C ++ in Ubuntu 20.04 In questo articolo. Abbiamo spiegato per la prima volta i diversi tipi di tipografi, dopo di che abbiamo dichiarato alcuni esempi diversi che hanno elaborato il concetto di typecasting in c++. Questo articolo ha appena fornito una panoramica di base del typecasting in c++. Seguendo le stesse righe, puoi anche eseguire la conversione di altri tipi di dati.