Typecasting i C / C++ / avslöja skillnaden mellan Typecasting & typ konvertering

Typecasting är ett framträdande inslag i C / C++ programmering som ger programmeraren bestämmelsen att konvertera en typ av data till en annan typ. Nybörjare missuppfattar ofta att termerna skriver konverteringar och typecasting i C/C++kan användas omväxlande, det är inte fallet. Vi kommer att diskutera deras viktigaste skillnader för att hålla våra koncept kristallklara.

Håll dig uppdaterad med de senaste tekniktrenderna
gå med i DataFlair på Telegram!!

Typecasting i C/c++

Typecasting är ett sätt att konvertera en viss datatyp av en variabel till en annan datatyp i C/C++. Det visar sig vara ganska användbart när det gäller minneshantering. Antag att vi vill lagra ett värde av datatyp int i en variabel av datatyp lång, vi kan uppnå denna uppgift genom att skriva int till lång. Och den goda nyheten är att det är så enkelt som det låter.

Syntax

int number1;
float number2;

/ / BODY
….
number2 = (float) number1;

Typkonvertering i C och C++

typkonvertering är ett koncept där en typ av data automatiskt konverteras till en annan typ utan programmerarens inblandning. Det görs enbart av kompilatorn endast om båda datatyperna är kompatibla med varandra.

Syntax

int number1 = 5;
float number2;
Number2 = a; / / värdet på number2 skulle vara 5.000

ta en paus ett tag och utforska variabler i C

Typkonvertering vs Typecasting

ofta brukar folk använda termerna typecasting och typkonverteringar omväxlande när vi pratar om omvandlingen av en typ av data till en annan, som, från int till char.

det är viktigt att notera följande viktiga skillnader:

  1. Typecasting avser omvandlingen av en datatyp till en annan av användaren, medan typkonvertering avser automatisk omvandling av en typ av data till en annan.
  2. vi använder vanligtvis typecasting när båda datatyperna är oförenliga med varandra. I typkonvertering är det obligatoriskt att båda datatyperna är kompatibla med varandra.
  3. Vi kräver casting operator ”() ” för typecasting i C/C++, medan vi inte kräver någon sådan operatör vid typkonvertering.
  4. vi skriver vanligtvis casting medan vi skriver programmet, medan vi skriver konvertering vanligtvis under kompilering.

typer av typkonverteringar i C / c++

i programmeringsspråket C/C++ är typkonverteringar av två typer, nämligen:

4.1 Implicit Typkonvertering

det är automatiskt i naturen eftersom kompilatorn själv omvandlar variabeln från en typ till den andra utan att någon annan funktion används. Därför behöver vi inte någon operatör.

det är viktigt att förstå reglerna för implicita typkonverteringar. De är:

  • mindre datatyper konverteras till större datatyper för att undvika förlust av data.
  • när operationen mellan int-och float-datatypen utförs, skulle det resulterande värdet vara av flytande typ.

glöm inte att kolla hur operatörer i C fungerar!

tänk till exempel på följande segment av kod:

int x =4;float a = 14.4, b;b = a / x;

låt oss nu förstå hur detta fungerar:

i implicit typkonvertering konverteras ”x” i a / x automatiskt till den större datatypen, det vill säga float-datatypen. Detta händer för att göra ”x” lika med ”a” när det gäller dess datatyp.

därför värdet av x = 4.0 och uttrycket a / x skulle vara 14.4/4.0 = 3.6

  • på samma sätt, när operationen mellan char / short och int utförs, skulle det resulterande värdet vara av heltalstyp eftersom den större datatypen här är int.

Observera att värdet för datatypen char skulle behandlas som dess ASCII-värde, inte som dess ursprungliga teckentyp när en operation utförs mellan datatypen char och int.

tänk till exempel på följande segment av kod:

char character = 'z';int number = 8, sum;sum = character + number;

Låt oss nu förstå hur det fungerar:

vi vet att ASCII-värdet för små bokstäver ’z’ är 122. Därför konverterar kompilatorn automatiskt karaktären av char-datatyp till heltaldatatypen och uttrycket sum = tecken + nummer blir lika med 122 + 8 = 130
därför skulle utmatningen vara 130.

från denna diskussion är det ganska tydligt att den lägre datatypen konverteras till en högre datatyp.

Följande diagram illustrerar rankningen av en lägre datatyp till en högre datatyp:

Implicit Typkonvertering C och C++

4.2 Explicit Typkonvertering

det görs av programmeraren enligt sin egen bekvämlighet med hjälp av cast-operatören.

Key takeaway: den nya datatypen bör tydligt nämnas antingen före identifieraren eller värdet inom parentes som ska skrivas.

exempel på typecasting i C

Här är ett program som illustrerar användningen av typecasting på C-språk:

#include <stdio.h>int main (){printf("Welcome to DataFlair tutorials!\n\n");int sum = 21, count = 5;double average;average = (double) sum / count;printf("The average value is : %f\n", average );return 0;}

kod på skärmen-

exempel på typecasting i C

utgång-

utmatning av typecasting i C

exempel på typecasting i C++

här är ett program i C++ som illustrerar användningen av typecasting:

#include <iostream>using namespace std;int main (){cout<<"Welcome to DataFlair tutorials!"<<endl<<endl;int sum = 21, count = 5;double average;average = (double) sum / count;cout<<"The average value is : "<< average <<endl;return 0;}

kod-

exempel på Typecasting i C++

utgång-

utmatning av Typecasting

inbyggda Typecasting-funktioner i c/c++

det finns 5 grundläggande typer av inbyggda typecast-funktioner i c/c++:

  1. atof(): vi använder den för att konvertera strängdatatyp till float-datatypen.
  2. atoi (): vi använder den för att konvertera strängdatatyp till int-datatypen.
  3. atol (): vi använder den för att konvertera strängdatatyp till den långa datatypen.
  4. itoa (): vi använder den för att konvertera int-datatyp till strängdatatypen.
  5. ltoa (): vi använder den för att konvertera lång datatyp till strängdatatypen.

sammanfattning

i denna handledning diskuterade vi den grundläggande betydelsen av typkonvertering och typecasting i C/C++, som de flesta tenderar att blanda upp. Vi förstod att det är möjligt att konvertera en typ av data till en annan typ, vilket gör det allt mer flexibelt. Därefter diskuterade vi vad som är implicit typkonvertering och explicit typkonvertering. Vi avslutade vår diskussion genom att överblicka de olika typerna av inbyggda typecasting-funktioner i C och C++.

avslöja skillnaden mellan strukturer och fackföreningar i C

Lämna ett svar

Din e-postadress kommer inte publiceras.