Pagkakaiba sa pagitan ng Uri ng Casting at Uri ng Pag-convert

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 4 Mayo 2024
Anonim
Ang Tamang Pagpili ng Dumalagang Baboy Para Gawing Inahin
Video.: Ang Tamang Pagpili ng Dumalagang Baboy Para Gawing Inahin

Nilalaman


Ang pangunahing pagkakaiba sa pagitan ng pag-convert ng uri at paghahagis ng uri, ang pag-convert ng uri ay "awtomatikong" sa pamamagitan ng tagatala, samantalang ang uri ng paghahagis ay "tahasang ginagawa" ng programista.

Ang dalawang salitang "type casting" at "type conversion" ay nangyayari kapag may pangangailangan na i-convert ang isang uri ng data sa isa pa. Kung ang dalawang uri ay magkatugma sa bawat isa, kung gayon ang pag-convert ng isang uri sa iba pa ay awtomatikong ginagawa ng tagatala. Talakayin natin ang pagkakaiba ng parehong uri ng paghahagis at pagbabagong loob sa tulong ng tsart ng paghahambing.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing:

Batayan para sa PaghahambingUri ng CastingUri ng Pag-convert
KahuluganAng isang uri ng data ay itinalaga sa isa pa ng gumagamit, gamit ang isang cast operator pagkatapos ay tinawag itong "Type Casting".Ang conversion ng isang uri ng data sa isa pang awtomatikong sa pamamagitan ng tagatala ay tinatawag na "Type Conversion".
InilapatMaaari ring mailapat ang uri ng paghahagis sa dalawang hindi magkatugma na mga uri ng data.Maipapatutupad lamang ang pag-convert ng uri kapag magkatugma ang dalawang uri ng data.
OperatorPara sa paghahagis ng isang uri ng data sa isa pa, kinakailangan ang isang casting operator ().Walang kinakailangang operator.
Sukat ng Mga Uri ng DataAng uri ng patutunguhan ay maaaring mas maliit kaysa sa uri ng mapagkukunan.Narito ang uri ng patutunguhan ay dapat na mas malaki kaysa sa uri ng mapagkukunan.
IpinatupadGinagawa ito sa panahon ng pagdidisenyo ng programa.Ginagawa ito nang malinaw habang pinagsama-sama.
Uri ng conversion

Makitid na pagbabalik-loob.Pagpapalawak ng conversion.
Halimbawaint a;
byte b;
...
...
b = (bait) a;
int a = 3;
lumutang b;
b = a; // halaga sa b = 3.000.


Kahulugan ng Uri ng Casting

Uri ng paghahagis maaaring tinukoy bilang, paghahagis ng isang uri ng data sa isa pang uri ng data, ng programmer, sa oras ng disenyo ng programa. Ang awtomatikong pag-convert ng isang uri ng data sa iba ay hindi posible sa lahat ng oras. Maaaring ang kondisyon na ang 'uri ng patutunguhan' ay mas maliit kaysa sa 'uri ng pinagmulan'. Samakatuwid, ang programmer ay kailangang palayasin ang mas malaking uri ng data nang malinaw sa mas maliit na uri ng data gamit ang casting operator '()'. Habang ang mas malaking uri ng data ay na-modulate sa mas maliit na uri ng data, tinawag din itong 'makitid na conversion'.

Deklarasyon:

destinasyon_type = (target_type) variable / halaga // uri ng target ay isang uri kung saan nais mong i-convert ang uri ng mapagkukunan, ito ay palaging uri ng patutunguhan.

Halimbawa

Unawain natin ito ng isang halimbawa. Nais mong i-convert ang uri ng data na 'int' sa 'bait'. Ngayon, dahil ang 'byte' ay mas maliit kaysa sa 'int', hindi pinapayagan ang pag-convert ng uri. Dito, kinailangan nating tahasang i-convert ang 'int' sa 'bait' sa pamamagitan ng paggamit ng casting operator '()'. Tulad ng 'int' ay mas malaki kaysa sa 'byte', ang laki ng 'int' ay mababawasan sa saklaw ng "int mod byte".


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

Kapag ang 'float' ay na-convert sa 'int', ang sukat ng float ay naputol, dahil hindi iniimbak ng 'int' ang prutas na prutas. Kung ang laki ng uri ng patutunguhan ay napakaliit para sa uri ng mapagkukunan na magkasya, kung gayon ang uri ng pinagmulan ay uri ng uri ng patutunguhan na 'range'. Maaari ring mailapat ang Casting kapag magkatugma ang mga uri ng data. Mahusay na kasanayan ang paggamit ng uri ng paghahagis kung saan kinakailangan ang pag-convert ng uri.

Kahulugan ng Uri ng Pagbabago

Uri ng conversion ay ang awtomatikong pag-convert ng isang uri ng data sa isa pa kung kinakailangan, na malinaw na ginawa ng tagatala. Ngunit mayroong dalawang kundisyon na dapat nasiyahan bago ang pag-type ng uri.

  • Ang uri ng pinagmulan at patutunguhan ay dapat na katugma.
  • Ang uri ng patutunguhan ay dapat na mas malaki kaysa sa uri ng mapagkukunan.

Ang dalawang kundisyong ito ay dapat masiyahan upang makamit ang pag-convert ng uri, at ang ganitong uri ng conversion ay tinatawag na 'widening conversion', dahil ang isang mas maliit na uri ay na-convert sa mas malaking uri, ang pagpapalawak ng uri ay nangyayari. Para sa pagpapalawak ng conversion na ito, ang mga uri ng bilang bilang 'int', 'float' ay magkatugma sa bawat isa habang ang numero sa char at boolean o char sa boolean ay hindi magkatugma din.

Halimbawa

Ang halimbawang ito ay magbibigay ng isang mas mahusay na pananaw tungkol dito

int a = 3; lumutang b; b = a; // halaga sa b = 3.000.

Dito, ang 'int' ay na-convert sa 'float' na mas malaki kaysa sa 'int', kaya nangyayari ang pagpapalawak ng uri ng mapagkukunan. Dito, hindi kinakailangan ang paghahagis ng operator dahil malinaw na gagawin ito ng tagatala.

  1. Ang pangunahing pagkakaiba na nagpapakilala sa uri ng paghahagis mula sa uri ng pag-convert ay ang uri ng paghahagis ay ang pag-convert ng isang uri sa isa pa, na ginagawa ng programmer. Sa kabilang banda, ang pag-convert ng uri ay ang pag-convert ng isang uri sa isa pa, na ginagawa ng compiler habang pinagsama-sama.
  2. Ang pag-type ng pag-type ay maaaring mailapat sa mga datatypes, na maaaring hindi magkatugma sa bawat isa. Sa kabaligtaran, ang pag-convert ng uri ay maaari lamang mailapat sa mga datatypes na katugma sa bawat isa.
  3. Ang pag-convert ng isang uri sa isa pa sa uri ng paghahagis ay nangangailangan ng paghahagis ng "()" habang ang pag-convert ng isang uri ng data sa isa pang uri ng conversion ay hindi nangangailangan ng anumang operator.
  4. Habang nagko-convert ng isang uri ng data sa isa pa sa uri ng paghahagis, ang uri ng patutunguhan ay maaaring maging mas malaki o mas maliit kaysa sa uri ng mapagkukunan. Tulad ng laban, ang uri ng patutunguhan ay dapat na mas malaki kaysa sa uri ng mapagkukunan sa pag-convert ng uri.
  5. Ang pag-convert ng isang uri sa isa pang uri ay ginagawa habang ang pag-cod sa uri ng paghahagis. Sa kaibahan, sa uri ng conversion, ang pag-convert ng isang uri sa iba pa ay malinaw na ginagawa sa pag-iipon.
  6. Ang uri ng paghahagis ay tinatawag na makitid na conversion dahil dito ang uri ng patutunguhan ay maaaring mas maliit kaysa sa uri ng mapagkukunan. Hindi tulad, ang uri ng conversion ay tinatawag na widening conversion dahil dito, ang uri ng patutunguhan ay dapat na mas malaki kaysa sa uri ng pinagmulan.

Konklusyon:

Maaari itong tapusin na ang uri ng conversion at uri ng paghahagis, parehong gumanap ng gawain ng pag-convert ng isang uri ng data sa iba ngunit naiiba sa isang kahulugan na ang uri ng paghahagis ay ginagawa ng programmer, gamit ang cast operator () 'at uri ng conversion na ginagawa ng tagatala , at hindi ito gumagamit ng anumang operator.