Anbefalt, 2024

Redaksjonens

Forskjellen mellom Type Casting og Type Conversion

De to begrepene "type casting" og "type conversion" forekommer når det er behov for å konvertere en datatype til en annen. Når de to typene er kompatible med hverandre, blir konverteringen av en type til en annen automatisk gjort av kompilatoren. Det er imidlertid en grunnleggende forskjell mellom type konvertering og type casting dvs. type konvertering er gjort "automatisk" av kompilatoren mens type casting skal "eksplisitt ferdig" av programmereren. La oss diskutere forskjellen både type casting og konvertering ved hjelp av sammenligning diagram.

Sammenligningstabel:

Grunnlag for sammenligningType CastingType Konvertering
BetydningEn datatype er tildelt en annen av brukeren, ved hjelp av en cast-operatør, så kalles den "Type Casting".Konvertering av en datatype til en annen automatisk kalles "Type Konvertering".
AnvendtType casting kan også brukes på to "inkompatible" datatyper.Type konvertering kan bare implementeres når to datatyper er "kompatible".
OperatørFor å kaste en datatype til en annen, kreves en casting operatør '()'.Ingen operatør påkrevd.
Størrelse på datatyperDestinasjonstype kan være mindre enn kildetype.Her må destinasjonstypen være større enn kildetype.
implementertDet er gjort under programdesign.Det gjøres eksplisitt under kompilering.
Konverteringstype
Narrowing konvertering.Utvide konvertering.
Eksempelint a;
byte b;
...
...
b = (byte) a;
int a = 3;
float b;
b = a; // verdi i b = 3.000.

Definisjon av Type Casting

Type støping kan defineres som støping av en datatype til en annen datatype, av programmøren, på tidspunktet for programdesign. Aa automatisk konvertering av en datatype til en annen, er ikke mulig hele tiden. Det kan være en betingelse at "destinasjonstypen" er mindre enn "kildetypen", så programmøren må eksplisitt kaste den større datatypen til mindre datatype ved hjelp av casting operatøren '()'. Da den større datatypen er modulert til den mindre datatypen, kalles den også 'innsnevring av konvertering'.

Erklæring:

 destination_type = (target_type) variabel / verdi // måltype er en type der du vil konvertere kildetypen, det er alltid destinasjonstypen. 

La oss forstå det med et eksempel. Du vil konvertere datatypen 'int' til 'byte', nå, da byte er mindre enn 'int', er konvertering ikke tillatt. Her måtte vi implisitt konvertere 'int' til 'byte' ved å bruke casting operator '()'. Da 'int' er større enn 'byte', vil størrelsen på 'int' bli redusert til 'int mod byte'-området.

 int a; byte b; ... ... b = (byte) a; 

Når "float" konverteres til "int", blir størrelsen på float avkortet, da 'int' ikke lagrer brøkverdien. Hvis størrelsen på destinasjonstypen er for liten for at kildetypen skal passe inn, er kildetypen modulo destinasjonstype 'range'. Casting kan også brukes når datatyper er kompatible, det er god praksis å bruke typen avstøpning der det er behov for konvertering av typen.

Definisjon av Type Konvertering

Type konvertering er automatisk konvertering av en datatype til en annen når det kreves, gjort eksplisitt av kompilatoren. Men det er to forhold å være fornøyd før type konvertering.

  • Kilde og destinasjonstype må være kompatibel.
  • Destinasjonstype må være større enn kildetype.

Disse to forholdene bør tilfredsstille for å oppnå konvertering av type, og denne typen konvertering kalles for "utvidelse av konvertering", da en mindre type omdannes til større type, skjer utvidelse av typen. For denne utvidede konverteringen er numeriske typer som "int", "float" kompatible med hverandre, mens numerisk til karbon og boolean eller karbon til boolean ikke er kompatibel.

Dette eksempelet gir et bedre bilde av dette

 int a = 3; float b; b = a; // verdi i b = 3.000. 

Her blir 'int' omgjort til 'float' som er større enn 'int', slik at utvidelsen av kilde type oppstår. Her er det ikke nødvendig med casting operatør som kompilatoren vil gjøre det eksplisitt.

Viktige forskjeller mellom Type Casting og Conversion

  1. Den grunnleggende forskjellen som skiller typestøping fra typekonvertering, er at typen støping er konvertering av en type til en annen, utført av programmereren. På den annen side er typeomformingen konvertering av en type til en annen, utført av kompilatoren under kompilering.
  2. Type støping kan brukes på datatyper som kanskje ikke er kompatible med hverandre, men type konvertering kan bare brukes på datatyper som er kompatible med hverandre.
  3. Konverteringen av en type til en annen i typen støping krever støpoperatøren "()" mens konverteringen av en datatype til en annen i typekonvertering ikke krever noen operatør.
  4. Mens konvertering av en datatype til en annen i typen avstøpning, kan destinasjonstypen være større eller mindre enn kildetypen. På den annen side må destinasjonstypen være større enn kildetypen i typekonvertering.
  5. Konverteringen av en type til en annen type gjøres under koding i type-avstøpning, mens konvertering av en type til en annen i typekonvertering gjøres eksplisitt under kompilering.
  6. Type-avstøpning kalles innsnevringskonvertering fordi her bestemmelsestypen kan være mindre enn kilde-type mens typekonvertering kalles for utvidet konvertering fordi her må bestemmelsestypen være større enn kildetypen.

Konklusjon:

Det kan konkluderes med at type konvertering og type avstøpning, både utfører oppgaven med å konvertere en datatype til en annen, men forskjellig på en måte som typen avstøpning er utført av programmøren, ved bruk av cast operator '()' og type konvertering er utført av kompilator, og det bruker ikke noen operatør.

Top