Forskjellen mellom type avstøpning og type konvertering

Forfatter: Laura McKinney
Opprettelsesdato: 1 April 2021
Oppdater Dato: 4 Kan 2024
Anonim
Forskjellen mellom type avstøpning og type konvertering - Teknologi
Forskjellen mellom type avstøpning og type konvertering - Teknologi

Innhold


Den grunnleggende forskjellen mellom typekonvertering og typekasting, dvs. typekonvertering gjøres "automatisk" av kompilator, mens typekasting "eksplisitt gjøres" av programmereren.

De to begrepene “type casting” og “type Conversion” oppstår når det er behov for å konvertere en datatype til en annen. Når de to typene er kompatible med hverandre, gjøres konverteringen av en type til en annen automatisk av kompilatoren. La oss diskutere forskjellen både på casting og konvertering ved hjelp av sammenligningskart.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell:

Grunnlag for sammenligningSkriv inn støpingSkriv konvertering
BetydningEn datatype er tilordnet en annen av brukeren, ved å bruke en rollebesetningsoperatør, kalles den "Type casting".Konvertering av en datatype til en annen automatisk av kompilatoren kalles "Type Conversion".
AnvendtType casting kan også brukes på to inkompatible datatyper.Typekonvertering kan bare implementeres når to datatyper er kompatible.
OperatørFor casting av en datatype til en annen, er en casting-operatør () nødvendig.Ingen operatør kreves.
Størrelse på datatyperDestinasjonstypen kan være mindre enn kildetypen.Her må destinasjonstypen være større enn kildetypen.
implementertDet gjøres under programutforming.Det gjøres eksplisitt mens du sammenstiller.
Konverteringstype

Begrensende konvertering.Utvidet konvertering.
Eksempelint a;
byte b;
...
...
b = (byte) a;
int a = 3;
flyte b;
b = a; // verdi i b = 3.000.


Definisjon av Type Casting

Type avstøpning kan defineres som avstøpning av en datatype til en annen datatype, av programmereren, på tidspunktet for programutforming. Automatisk konvertering av en datatype til en annen er ikke mulig hele tiden. Det kan være betingelsen at ‘destinasjonstypen’ er mindre enn ‘kildetypen’. Derfor må programmereren kaste den større datatypen eksplisitt til mindre datatype ved å bruke avstøpningsoperatøren ‘()’. Ettersom 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 du vil konvertere kildetypen, det er alltid destinasjonstypen.

Eksempel

La oss forstå det med et eksempel. Du vil konvertere datatypen ‘int’ til ‘byte’. Ettersom "byte" er mindre enn "int", er ikke konvertering av type tillatt. Her måtte vi implisitt konvertere ‘int’ til ‘byte’ ved å bruke casting operator ‘()’. Ettersom ‘int’ er større enn ‘byte’, reduseres størrelsen på ‘int’ 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 til at kildetypen kan passe inn, er kildetypen modulo destinasjonstype 'rekkevidde'. Casting kan også brukes når datatyper er kompatible. Det er god praksis å bruke avstøpning av typen uansett hvor det er behov for konvertering.

Definisjon av type konvertering

Skriv konvertering er automatisk konvertering av en datatype til en annen når det er nødvendig, utført eksplisitt av kompilatoren. Men det er to betingelser som skal tilfredsstilles før konvertering av type.

  • Kilde og destinasjonstype må være kompatible.
  • Destinasjonstypen må være større enn kildetypen.

Disse to forholdene skal tilfredsstille for å oppnå konvertering av typen, og denne typen konvertering kalles ‘utvide konvertering’, ettersom en mindre type blir konvertert til større type, og utvidelse av typen skjer. For denne utvidede konverteringen er numeriske typer som ‘int’, ‘float’ kompatible med hverandre mens numerisk til røyke og boolesk eller røyke til boolsk heller ikke er kompatible.

Eksempel

Dette eksemplet vil gi et bedre syn på dette

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

Her konverteres ‘int’ til ‘float’ som er større enn ‘int’, så det utvides kildetypen. Her er ingen casting-operatør nødvendig, da kompilatoren vil gjøre det eksplisitt.

  1. Den grunnleggende forskjellen som skiller type casting fra type konvertering er at type casting er konvertering av en type til en annen, utført av programmereren. På den annen side er typen konvertering konvertering av en type til en annen, utført av kompilatoren mens den samles.
  2. Type casting kan brukes på datatypene, som kanskje ikke er kompatible med hverandre. Motsatt kan konvertering av typen bare brukes på datatypene som er kompatible med hverandre.
  3. Konvertering av en type til en annen i casting av typen krever casting-operatøren “()” mens konvertering av en datatype til en annen i type-konvertering ikke krever noen operatør.
  4. Når du konverterer en datatype til en annen i casting av type, kan destinasjonstypen være større eller mindre enn kildetypen. I motsetning må måltypen være større enn kildetypen i konvertering av typen.
  5. Konvertering av en type til en annen type gjøres under koding i type casting. I motsetning til konvertering, gjøres konvertering av en type til en annen eksplisitt under samlingen.
  6. Type avstøpning kalles innsnevring av konvertering fordi her kan måltypen være mindre enn kildetypen. I motsetning til kalles konvertering for utvidelse av konvertering, fordi her må måttetypen være større enn kildetypen.

Konklusjon:

Det kan konkluderes med at typekonvertering og type casting, begge utfører oppgaven med å konvertere en datatype til en annen, men avviker på en måte at type casting utføres av programmereren, ved bruk av cast operator () 'og typekonvertering gjøres av kompilatoren , og den bruker ingen operatører.