Forskjellen mellom type avstøpning og type konvertering
Innhold
- Sammenligningstabell:
- Definisjon av Type Casting
- Eksempel
- Definisjon av type konvertering
- Eksempel
- Konklusjon:
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.
- Sammenligningstabell
- Definisjon
- Viktige forskjeller
- Konklusjon
Sammenligningstabell:
Grunnlag for sammenligning | Skriv inn støping | Skriv konvertering |
---|---|---|
Betydning | En 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". |
Anvendt | Type casting kan også brukes på to inkompatible datatyper. | Typekonvertering kan bare implementeres når to datatyper er kompatible. |
Operatør | For casting av en datatype til en annen, er en casting-operatør () nødvendig. | Ingen operatør kreves. |
Størrelse på datatyper | Destinasjonstypen kan være mindre enn kildetypen. | Her må destinasjonstypen være større enn kildetypen. |
implementert | Det gjøres under programutforming. | Det gjøres eksplisitt mens du sammenstiller. |
Konverteringstype | Begrensende konvertering. | Utvidet konvertering. |
Eksempel | int 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.