“In typecasting, il compilatore modifica il tipo di dati delle nostre variabili da solo in base a come vogliamo eseguire il programma. C le operazioni possono essere eseguite solo con dati simili. Se i dati dei dati diventano diversi, allora, in tal caso, si verificherà un typecasting.
Nel linguaggio C, definiamo variabili o costanti con dati specifici, se dopo la dichiarazione delle nostre variabili, stiamo scrivendo un'espressione o eseguendo alcune operazioni e potremmo ottenere l'output da esso in un tipo diverso. Quindi, per mantenere il tipo, abbiamo bisogno di un typecasting a tale scopo. Supponiamo che stiamo prendendo due numeri interi e dividendoli l'uno con l'altro; Il risultato può trovarsi in un doppio tipo di dati a causa del valore dei punti. Quindi, per risolvere il problema, useremo il concetto di typecasting.
Esistono due tipi di tipografi uno è implicito e l'altro è esplicito.
In un typecasting implicito, il processo viene effettuato dal compilatore e non si perdono informazioni. In esplicito typecasting, noi come programmatore faremo il casting manualmente e, nel farlo, potremmo perdere le informazioni."
Sintassi
La sintassi per il typecasting è la seguente:
Se guardiamo la sintassi, vedremo che il tipografia è definito nella staffa prima dell'espressione o dell'operazione. Ad esempio: se stiamo eseguendo un'espressione su dati interi che ci darà l'output in doppio, scriveremo doppio nella staffa Type_Name e, successivamente, scriveremo il codice per la nostra espressione. Una cosa da tenere a mente è che soprattutto durante le operazioni aritmetiche, il compilatore fa il casting stesso, il che significa che è implicito tipografo perché viene eseguito automaticamente dal compilatore. Il compilatore definisce la gerarchia dei dati aritmetici e quindi esegue la conversione al tipo di dati, che è nella parte superiore della gerarchia.
Esempio 1
Diamo un'occhiata al seguente pezzo di codice per capire come possiamo prendere l'aiuto del processo di typecasting per dividere un numero intero in un altro e ottenere un tipo di dati float in punti. In questo esempio, se non eseguiamo il casting nel nostro programma, otterremo l'output come intero anche se dichiariamo la variabile Z come doppia, che viene utilizzata per archiviare il valore dopo l'operazione. Quindi non ci darà il valore esatto e l'output non sarà corretto nel numero intero.
Ora nel codice seguente, abbiamo inizializzato due numeri interi, "X" e "Y" e abbiamo assegnato loro valori "21" e "4". Abbiamo anche preso la terza variabile di DATATYpe doppio per archiviare il valore di output, che sarà in punti. Durante l'operazione, abbiamo scritto doppio tra parentesi prima della divisione tra xey. Questo è tipografi. Stiamo dicendo al compilatore di lanciare i valori in doppio e quindi dividerli in modo da poter ottenere il nostro output in punti. Quindi abbiamo stampato il nostro output per verificare se fosse corretto o meno.
Esistono due tipi di tipografi uno è implicito e l'altro è esplicito. In questo articolo è discusso in C.
#includere
Int x = 21, y = 4;
Double Z;
z = (doppio) x/y;
printf ("output dopo typecasting è: %f \ n", z);
restituzione 0:
Dopo aver compilato il nostro codice, otterremo il seguente valore come nostro output. Possiamo vedere che il valore è nei decimali e ci sta dando il valore esatto anche dopo il punto. Se non abbiamo eseguito il casting sulla nostra espressione, otterremo il risultato come 5.000000 perché il sistema dividerà i numeri interi e non otterrà l'output dopo i punti. Ma con il tipografi, ne abbiamo 5.250000 che è il valore effettivo. Una cosa che noterai del codice e dell'output è che la precedenza dell'operatore type_casting è superiore a quella della divisione o dell'operatore "/". Ciò significa che il sistema eseguirà prima il typecasting sui numeri interi, li convertirà in doppio e quindi eseguirà il processo di divisione.
Esempio 2
Abbiamo discusso in precedenza che ci sono due tipi di tipografi. Nell'esempio precedente, abbiamo fatto esplicito casting. In questo esempio, faremo un typecasting implicito, il che significa che lasceremo che il compilatore faccia il casting da solo. Abbiamo definito 3 variabili A, B e C. Abbiamo dato loro dati, galleggianti e numeri interi. Un valore nei punti decimali viene dato alla variabile float e un numero semplice viene assegnato alla costante intero. La variabile B, che è un numero intero, verrà convertita automaticamente in galleggiante ed è un tipo di dati più grande in C comparativamente. La variabile A è già a galla in termini di tipi.
Esistono due tipi di tipografi uno è implicito e l'altro è esplicito. In questo articolo è discusso in C.
#includere
fluttuare a = 25.23
int b = 5;
galleggiare c;
c = a/b;
printf ("output dopo typecasting è: %f \ n", c);
restituzione 0:
Il valore di output sarà 25.23/5 = 5.046. Possiamo vedere nel nostro codice che non abbiamo assegnato alcun operatore (type_casting) alla nostra espressione, ma abbiamo ottenuto il valore in punti anche con il tipo di dati interi. È perché il sistema ha convertito il tipo di dati da solo. Dopotutto, il tipo di dati float ha una preferenza più elevata rispetto all'intero e durante l'operazione, la variabile "A" era galleggiante. Quindi il compilatore ha dato priorità a Float Datauty. Questo è chiamato tipografi impliciti.
Esempio 3
Non possiamo solo convertire int in galleggiare o raddoppiare, ma possiamo convertire anche i caratteri in altri tipi. Per fare ciò, abbiamo preso tre variabili con i dati int e carattere. Abbiamo assegnato il valore "10" al nostro numero intero "X" e "Z" al nostro personaggio "A". Abbiamo riassunto il carattere e le variabili int. Logicamente non è possibile, ma con l'aiuto di typecasting, possiamo farlo.
Esistono due tipi di tipografi uno è implicito e l'altro è esplicito. In questo articolo è discusso in C.
#includere
Int x = 10
char a = 'z';
int somma;
Sum = (int) x + a;
printf ("Valore dell'alfabeto z è: %f \ n", a);
printf ("La somma totale è: %f \ n", somma)
restituzione 0:
In ASCII, il valore di z è 90. Abbiamo stampato il valore di z, che è 90. Dopo aver aggiunto 90, che è il valore di Z in int, con il valore 10, che abbiamo assegnato alla nostra costante X, otterremo un totale di 100. Questo è un esempio di conversione di una stringa o di un tipo di caratteri in un numero di dati numerici o interi.
Conclusione
In questo argomento, abbiamo discusso di typecasting e ti abbiamo spiegato come funziona il tipo di tipografia e quando utilizzare il tipografi. Abbiamo anche discusso in dettaglio diversi tipi di tipografi con esempi. Il tipografi è un approccio molto efficiente per convertire i risultati di diversi dati in base ai nostri requisiti. Ci aiuta a ottenere le informazioni precise esatte senza il rischio di perdere le nostre informazioni. Un altro grande vantaggio del typecasting è che rende il nostro codice leggero ed efficiente.