[Powered by Google Translate] JORDAN JOZWIAK: Tip litje, na najpreprostejši smislu,
način spremeniti razlage računalnika nekaterih podatkov, ki jih
implicitno ali eksplicitno spremenilo njeno vrsto podatkov.
Tako kot spreminjanje int v float ali obratno.
Da bi razumeli vrsto litje, moramo
začeti z osnovami -
Vrste podatkov samih.
V računalniških jezikih, kot so C, vse spremenljivke neke vrste
vrste podatkov, ki določa, kako računalnik, in prav tako
uporabnik, razlaga, da je spremenljivka.
Numerične vrste podatkov, kot so int, dolgo dolgo, float in
dvojno, vsi imajo svoje edinstvene značilnosti in so
uporablja za določitev vrednosti različnih obdobij in natančnosti.
Pretvorba tipov nam omogoča, da s spremenljivo število točk kot
3,14 in dobil vlogo pred decimalko, 3 v tem primeru,
da ga ulitkov notr.
Vzemimo primer iz angleškega jezika za kratek
pregled tipov, in ugotoviti, kako lahko spremenite vrsto litje
način, kako interpretirati podatek.
Za podatke, vzemimo simbole tukaj.
Pravkar sem se nanašajo na te skrbno nastavljen linije,
simboli, ampak kot nekoga, ki pozna angleški jezik,
boste takoj prepoznali, da gre v resnici črke.
Ti implicitno razume vrsto podatkov.
Če pogledamo na to niza črk lahko vidimo, 2
različnih besed, vsaka s svojim smislu.
Tam je samostalnik, veter, kot veter piha zunaj.
In tam je glagol, veter, kot da moram
zaključi svojo analogno uro.
To je zanimiv primer, saj lahko vidimo,
kako je tip, ki se prenesejo na naše podatke, ali je samostalnik ali
glagol, spremembe, kako jih uporabljamo, da so podatki, -
kot beseda veter ali veter.
Čeprav je računalnik ne zanima slovnice in deli
angleškega govora, enake osnovne načelo.
To pomeni, da lahko spremenimo razlago natančnega
Enake podatke, shranjene v pomnilniku, ga preprosto ulitkov
drugačen tip.
Tukaj so velikosti od najbolj pogostih vrst na 32-bitni
operacijski sistem.
Imamo char na 1 byte, int in lopatico na 4 bajte, dolgo
dolgo in dvojni po 8 bajtov.
Ker int zasede 4 bajte, bo trajalo do 32 bitov
ko je v spominu kot binarni niz
ničel in enic.
Dokler naši spremenljivko ostaja tipa int, na
Računalnik bo vedno spremeniti te tiste ničle iz
binarni v prvotno število.
Vendar pa bi lahko teoretično oddal tistih 32
bitov v nizu logičnih tipov.
In potem bi se računalnik ne vidim več, vendar
Namesto zbirka ničel in enic.
Lahko bi tudi poskusite prebrati, da so podatki različni numerični
vnesite ali celo kot niz štirih znakov.
Ko se ukvarjajo s številkami v vlivanje, morate razmisliti, kako
natančnost svojo vrednost bo vplivalo.
Imejte v mislih, da lahko natančnost ostala enaka,
ali lahko izgubijo natančnost, vendar nikoli ne more pridobiti natančnost.
Gremo skozi za tri najbolj pogoste načine, ki jih lahko
izgubijo natančnost.
Casting plovec za notr povzroči krajšanje vsega
decimalno vejico, tako da si levo
s celega števila.
Če vzamemo float x, ki bo enak 3,7, lahko odda
ta spremenljivka x notr preprosto pisanje v int
oklepaje.
Kadarkoli uporabljamo ta izraz tukaj, bomo dejansko
se uporabi vrednost 3, ker smo okrnjena
vse za decimalno vejico.
Prav tako lahko pretvorite dolgo časa, da notr, ki bo
Podobno vodilo v izgubo zelo naročilu bitov.
Dolgo dolgo traja največ 8 bajtov ali 64 bitov pomnilnika.
Torej, ko smo ga meče na notr, ki ima samo 4 bajte ali 32
bitov, smo v bistvu sekanje off vse nastavke, da
predstavljajo večje vrednosti binarne.
Lahko bi tudi glasuje dvakrat na likvidna sredstva, ki bo zagotovil
si čim tesnejše plovec z dvojno brez
nujno, da zaokroževanje.
Podobno smo dolgo dolgo int konverzijo, izguba
natančnost je zaradi dvojnega vsebuje več podatkov.
Dvoposteljna vam bo omogočilo, da shranite 53 pomembnih bitov,
približno 16 večjih mest.
Ker bo plovec samo vam omogoča shranjevanje 24
pomembnih bitov, približno 7 pomembnih številk.
V zadnjih dveh primerih je lahko v pomoč, da razmišljajo o
vnesite litje kot spreminjanje velikosti fotografij.
Ko greste od velikosti do majhne velikosti, ne moreš videti
stvari, kot je jasno, ker ste izgubili podatke
v obliki slikovnih pik.
Tip litje lahko povzroči tudi težave, ko smo
oddanih ints v likvidna sredstva.
Ker plava na 32-bitno strojno le 24
pomembnih bitov, ki jih ni mogoče natančno predstavljajo vrednote
več kot 2 do moči 24 ali 16777217.
Zdaj pa govoriti o eksplicitno in implicitno litje.
Izrecno litje je, ko smo napisali vrsto v oklepaju
pred imenom spremenljivke.
Kot primer, preden smo pisali int v oklepaju pred našo
float spremenljivko x.
Na ta način smo dobili int vrednost,
okrnjene vrednost 3,7 -
3.
Implicitno litje, ko prevajalnik samodejno preklopi
podobne vrste za super tip, ali opravlja kakšno drugo vrsto
vlivanje ne zahteva uporabnik za pisanje
vsaka dodatna oznaka.
Na primer, ko smo dodali 5 in 1,1, naše vrednote že
Vrste so povezana z njimi.
The 5 je int, medtem ko je 1,1 drsenje.
Da bi jih dodali, računalnik meče 5 v obtoku,
kar bi bilo isto, kot pisanje 5,0 v
prvo mesto.
Ampak ta način povemo plovec 5 ali 5,0, plus kar je bilo že
float, 1,1, in od tam lahko dejansko dodajte
vrednote in dobili vrednost 6,1.
Implicitno litje tudi nam omogoča, da določite spremenljivke
Različne vrste drug na drugega.
Mi lahko vedno dodeli manj natančno vrsto v več
Natančna 1.
Na primer, če imamo dvojno x, y in z int -
in bi ti imeli vrednote, ki smo jih iz da -
lahko rečemo x enak y.
Ker ima dvojno večjo natančnost kot notr, zato smo
ne boste izgubili nobenih podatkov.
Po drugi strani pa ne bi nujno bilo pravilno reči,
y je enaka x, saj bi lahko z dvojnim imajo večjo vrednost kot
število.
In tako se je celo ne bi mogli imeti vse
Podatki, shranjeni v dvojico.
Implicitno litje se uporablja tudi v primerjalnih izvajalcev, kot so
več, manjša ali enakost operaterja.
Tako lahko rečemo, če je večja od 5,1 5 in dobimo
pride resnica.
Ker je 5 int, vendar pa se bo oddal v likvidna sredstva, da bi
se v primerjavi s plovcem 5,1, bi lahko rekli 5.1
večja od 5,0.
Enako velja, če s pravim 2,0 enaka enaka 2.
Radi bi dobili tudi res, ker bo računalnik odda
celo 2 do lebdi v zraku in potem pravijo, 2,0 enak enak 2,0,
to je res.
Ne pozabite, da lahko tudi odda med ints in chars,
ali ASCII vrednosti.
Znakov je treba tudi zmanjšati binary, kar je razlog, zakaj
Lahko preprosto pretvorite med znakov in njihovih
ASCII vrednosti.
Če želite izvedeti več o tem, si oglejte video na ASCII.
Ko boste vzeli trenutek za razmislek o tem, kako je shranjenih podatkov,
se začne, da bi veliko smisla.
To je tako kot razlika med vetrom in veter.
Podatki so enaki, vendar pa je vrsta lahko spremenite kako
razlaga.
Moje ime je Jordan Jozwiak to cs50.