Type Casting în limbajul C

Type Casting este o modalitate de a converti o variabilă de la un tip de date la un alt tip de date. De exemplu, dacă doriți să stocați o valoare lungă într-un număr întreg simplu, atunci puteți face typecast long în int. Puteți converti valori de la un tip la altul în mod explicit folosind operatorul cast. Există două tipuri de turnare a tipurilor în limbajul c, care sunt Conversiile implicite și Conversiile explicite. În acest articol, vom învăța, de asemenea, despre diferența dintre turnarea de tip și conversiile de tip.

Noul tip de date trebuie menționat înaintea numelui variabilei sau a valorii în paranteze care urmează să fie tipizată.

Exemplu de program C de tip casting:

În programul C de mai jos, 7/5 singur va produce valoarea întreagă 1.
Atunci, type cast se face înainte de împărțire pentru a păstra valoarea flotantă (1,4).

1 #include <stdio.h>
2 int main ()
3 {
4 float x;
5 x = (float) 7/5;
6 printf(„%f”,x);
7 }

Scoate:
1.400000

Conversia unei expresii de un anumit tip într-un alt tip este cunoscută sub numele de tip casting. typecasting este mai mult utilizat în programarea în limbajul c.

Aici, Este cea mai bună practică să se convertească tipul de date inferior în tipul de date superior pentru a evita pierderea de date.

Datele vor fi trunchiate atunci când tipul de date superior este convertit în cel inferior. De exemplu, dacă un float este convertit în int, datele care sunt prezente după virgula zecimală vor fi pierdute.

Există două tipuri de tip casting în limbajul c.

Tipuri de tip casting în C

. Conversie explicită

S.Nu Tipuri de tip casting în programarea C
1 Conversie implicită
2

Conversie implicită

Conversiile implicite nu necesită niciun operator pentru convertit. Ele sunt efectuate automat atunci când o valoare este copiată într-un tip compatibil în program.

În acest caz, valoarea lui a a fost promovată din int în double și nu a trebuit să specificăm niciun operator de conversie de tip. Aceasta este cunoscută ca o conversie standard.

Exemplu :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 double p;
7 clrscr();
8
9 p=i; // conversie implicită
10
11 printf(„valoarea implicită este %d”,p);
12
13 getch();
14 }

Output:-
valoarea implicită este 20.

Conversie explicită

În limbajul C, Multe conversii, în special cele care implică o interpretare diferită a valorii, necesită o conversie explicită. Am văzut deja două notații pentru conversia explicită a tipurilor.

Ele nu sunt efectuate automat atunci când o valoare este copiată într-un tip compatibil în program.

Exemplu :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 short p;
7 clrscr();
8
9 p = (short) i; // Conversie explicită
10
11 printf(„Explicit value is %d”,p);
12
13 getch();
14 }

Output:-
Valoarea explicită este 20.

Conversie aritmetică uzuală

Conversiile aritmetice uzuale sunt efectuate implicit pentru a turna valorile lor într-un tip comun, C folosește regula conform căreia în toate expresiile, cu excepția asignărilor, orice conversie implicită de tip efectuată de la un tip de mărime mai mică la un tip de mărime mai mare, așa cum se arată mai jos:

Type Casting în limbajul C

Funcții de tipcasting încorporate în C:

Există multe funcții de tip casting încorporate disponibile în limbajul C care realizează conversia tipului de date de la un tip la altul.

.

S.No Funcție de tippecast Descriere
1 atof() Convert string to Float
2 atoi() Convert string to int
3 atol() Convert string to long
4 itoa() Converti int în string
5 ltoa() Convertiți int în string
. long în șir de caractere

De curând facem un sondaj de la diferiți programatori care sunt disponibili în mediile sociale google plus. Am făcut un sondaj pentru type casting în limbajul c.

Diferența dintre type casting și type conversion

Când este nevoie să convertim un tip de date în altul, cei doi termeni ne vin în minte „typecasting” și „type conversion”. Atunci când cele două tipuri sunt compatibile între ele, atunci conversia unui tip în altul se face automat de către compilator, ceea ce înseamnă conversie de tip la rece, dar nu ne amintim că putem stoca un tip de date mare în celălalt, de exemplu, nu putem stoca un float în int, deoarece un float este mai mare decât int, în timp ce typecasting trebuie să fie făcut în mod explicit de către programator.

Baza pentru comparare Casting de tip Conversie de tip
Definiție Când un utilizator poate converti un tip de date în altul, atunci se numește typecasting. Conversia de tip este cea care convertește automat un tip de date în altul.
Implementat Implementat pe două tipuri de date „incompatibile”. Implementat numai atunci când două tipuri de date sunt „compatibile”.
Operator Pentru turnarea unui tip de date în alt tip de date, este necesar un operator de turnare ‘()’. Nu este necesar niciun operator.
Implementat Se face în timpul proiectării programului. Se face explicit în timpul compilării.
Tip de conversie Conversie de îngustare. Conversie de lărgire.
Exemplu int x;
byte y;



y= (byte) x;
int x=3;
float y;
y=a; // valoarea în y=3.000.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.