Typecasting in C / C++/Uncover Difference between Typecasting & Type Conversion

Typecasting on keskeinen ominaisuus C / C++ – ohjelmoinnissa, joka antaa ohjelmoijalle ehdon muuntaa yhden tietotyypin toiseen tyyppiin. Aloittelijoille yleisesti virheellisesti ymmärtää, että termit tyyppi muunnoksia ja typecasting C / C++voidaan käyttää vaihdellen, se ei ole. Keskustelemme niiden keskeisistä eroista pitääksemme käsityksemme kristallinkirkkaina.

Pysy ajan tasalla uusimpien teknologiasuuntausten kanssa
liity Dataflairiin Telegramissa!!

Typecasting in c/c++

Typecasting on tapa muuntaa tietty muuttujan tietotyyppi toiseen tietotyyppiin C / C++. Se osoittautuu varsin hyödyllinen, kun se tulee muistin hallinta. Oletetaan, että haluamme tallentaa arvo tietotyyppi int osaksi muuttuja tietotyyppi pitkä, voimme saavuttaa tämän tehtävän typecasting int pitkä. Ja hyvä uutinen on, että se on niin helppoa kuin se kuulostaa.

syntaksi

int numero1;
float number2;

/ / BODY
….
numero2 = (float) numero1;

Type Conversion in C ja C++

Type conversion on käsite, jossa yksi tietotyyppi muunnetaan automaattisesti toiseksi tyypiksi ilman ohjelmoijan myötävaikutusta. Se tehdään yksinomaan kääntäjä vain, jos molemmat tietotyypit ovat yhteensopivia keskenään.

syntaksi

int number1 = 5;
float number2;
Number2 = a; / / number2: n arvo olisi 5.000

pidä taukoa ja tutki muuttujia c

Type Conversion vs Typecasting

usein ihmisillä on tapana käyttää termejä typecasting ja type conversions vaihdellen aina, kun puhumme tietyntyyppisen tiedon muuntamisesta toiseen, kuten int: stä char: iin.

on tärkeää huomata seuraavat keskeiset erot:

  1. Typecasting tarkoittaa Käyttäjän suorittamaa yhden tietotyypin muuntamista toiseen, kun taas type conversion tarkoittaa yhden tietotyypin automaattista muuntamista toiseen.
  2. käytämme yleensä typecastingia, kun molemmat tietotyypit ovat yhteensopimattomia keskenään. Kun taas tyyppi muuntaminen, se on pakollista, että molemmat tietotyypit ovat yhteensopivia keskenään.
  3. vaadimme C / C++ – kielen latomiseen valuoperaattorin ” ()”, kun taas tyyppimuunnoksen yhteydessä emme vaadi tällaista operaattoria.
  4. teemme yleensä konekirjoitusta ohjelmaa kirjoitettaessa, kun taas konversiota tehdään yleensä kokoamisen aikana.

Tyyppimuunnoksia C/C++: ssa

C/c++ – ohjelmointikielessä tyyppimuunnoksia on kahta tyyppiä, nimittäin:

4.1 implisiittinen Tyyppimuunnos

se on luonteeltaan automaattista, koska kääntäjä itse muuntaa muuttujan tyypistä toiseen ilman minkään muun funktion käyttöä. Näin ollen emme vaadi mitään operaattoria.

on tärkeää ymmärtää implisiittisiin konversioihin liittyvät säännöt. Ne ovat:

  • pienemmät tietotyypit muunnetaan suurempiin tietotyyppeihin tiedon häviämisen välttämiseksi.
  • kun int-ja float-tietotyypin välinen operaatio suoritetaan, tuloksena oleva arvo olisi kelluvaa tyyppiä.

älä unohda tarkistaa, miten operaattorit C: ssä toimivat!

tarkastellaan esimerkiksi seuraavaa koodisegmenttiä:

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

nyt, ymmärretäänpä miten tämä toimii:

implisiittisessä konversiossa a / x: n ”x” muutetaan automaattisesti isommaksi tietotyypiksi eli float-tietotyypiksi. Tämä tapahtuu siten, että ”x” on tietotyypiltään ”a”: n suuruinen.

siis arvo x = 4.0 ja lauseke a / x olisi 14.4 / 4.0 = 3.6

  • vastaavasti, kun suoritetaan operaatio char/Shortin ja int: n välillä, tuloksena oleva arvo olisi kokonaislukutyyppiä, koska suurempi tietotyyppi tässä on int.

huomaa, että char-tietotyypin arvoa käsiteltäisiin sen ASCII-arvona, ei sen alkuperäisenä merkistönä, kun suoritetaan operaatio char-ja int-tietotyypin välillä.

tarkastellaan esimerkiksi seuraavaa koodisegmenttiä:

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

nyt, ymmärtäkäämme miten se toimii:

tiedämme, että pienaakkosen ” z ” ASCII-arvo on 122. Siksi kääntäjä muuntaa automaattisesti char-tietotyypin merkin kokonaislukutyypiksi ja lauseke sum = character + number muuttuu 122 + 8 = 130
näin ollen lähtö olisi 130.

tästä keskustelusta on melko selvää, että alempi tietotyyppi muunnetaan korkeammaksi tietotyypiksi.

seuraava kaavio kuvaa alemman tietotyypin sijoittumista korkeampaan tietotyyppiin:

implisiittinen tyypin muunnos C ja C++

4.2 eksplisiittinen Tyyppimuunnos

sen tekee ohjelmoija oman mukavuutensa mukaan valetun operaattorin avulla.

Key takeaway: Uusi tietotyyppi on mainittava selvästi joko ennen tunnistetta tai arvo suluissa, jotka on kirjattava.

esimerkki typekastamisesta C: ssä

tässä on ohjelma, joka havainnollistaa typekastamisen käyttöä C-kielessä:

#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;}

Code On Screen-

Example of typecasting in C

Output-

Output of typecasting in C

Example of typecasting in C++

tässä on ohjelma C++, joka havainnollistaa 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;}

Code-

esimerkki typecasting in C++

Output-

typecasting

sisäänrakennettu typecasting funktiot c/c++

on olemassa 5 perustyyppiä sisäänrakennettu Typecast funktioita c/c++:

  1. atof(): muunnamme sen avulla merkkijonotyypin float-tietotyypiksi.
  2. atoi(): muunnamme sen avulla merkkijonotyypin int-tietotyypiksi.
  3. atol(): muunnamme sen avulla merkkijonotyypin pitkäksi tietotyypiksi.
  4. itoa(): käytämme sitä muuntamaan int-tietotyypin merkkijonotietotyypiksi.
  5. ltoa(): käytämme sitä muuntamaan pitkän tietotyypin merkkijonotietotyypiksi.

Yhteenveto

tässä opetusohjelmassa käsittelimme C / C++ – kielen konversioiden ja typecastingin perusmerkitystä, jota useimmat ihmiset yleensä sekoittavat. Ymmärsimme, että on mahdollista muuntaa tietotyyppi toiseen tyyppiin, mikä tekee siitä entistä joustavamman. Sen jälkeen keskustelimme siitä, mikä on implisiittinen tyypin muuntaminen ja eksplisiittinen tyypin muuntaminen. Päätimme keskustelumme käymällä läpi erilaisia sisäänrakennettuja typecasting funktioita C: ssä ja C++: ssa.

paljastaa rakenteiden ja liittojen eron C

Vastaa

Sähköpostiosoitettasi ei julkaista.