DOUG LLYOYD: Szóval hexadecimális számok, mintha mi szükség egy másik lúgszám
rendszer van?
Nos, a legtöbb nyugati kultúrákban, Mint azt bizonyára ismeri,
használja a tizedes system-- bázis 10, hogy képviselje a numerikus adatokat.
Megvan a számjegyek 0, 1, 2, 3, 5, 6, 7,8,9.
És ha kell képviselni értéke magasabb, mint kilenc,
tudjuk kombinálni ezeket számjegy felhasználásával fogalma helyi érték.
Tehát 10, van egy 1 jegyű majd egy 0 számjegy
és mi ösztönösen érti hogy mit csinálunk
van mi megszorozzuk az első 1 10,
majd hozzáadjuk 0 összesen 10.
Számítógépek csinálni valami nagyon hasonló, mint Te bizonyára ismeri,
A bináris system-- alap 2.
A különbség ott lenni hogy már csak 2 számjegy
dolgozni with-- 0 és 1.
És így nálunk értékeket, ahelyett, hogy az egyik,
Tíz, száz, ezer, mivel lenne a tízes számrendszerben,
vannak egy, kettő, négy, nyolc, és így tovább.
Itt van a dolog, bár, ezeket 0 és 1-es, különösen
ha mi vagyunk, hogy a számítógépes szakemberek és csinálunk egy csomó programozási
vagy a számítógéppel dolgozó, mentek kell látni a sok bináris számokat.
És ezek a 0 és 1-es nagy láncok nagyon nehéz értelmezni.
Nem lehet csak egy pillantást vetni a sor 0 és 1-es és feltétlenül tudja
Pontosan mi az.
De ez még mindig hasznos, hogy képes Express adatok ugyanúgy
hogy a számítógép nem.
Van ez a fogalom a hexadecimális rendszer, amely
bázis 16 helyett 10 alap vagy bázis 2.
Ami azt jelenti, hogy van 16 számjegy dolgozni, hanem 10, vagy 2.
És ez egy sokkal tömören kifejezni
bináris információt a számítógépes rendszer, ez sokkal emberibb érthető.
Tehát van a számjegyek 0-tól 9, majd
mi is ezeket a további hat digits-- egy, b, c, d, e és f, amely képviseli 10,
mi fogalma 10, 11, 12, 13, 14 és 15, a tizedes.
Néha, az úton, akkor is ezeket A-tól F-as főváros
keresztül F, amely a Ahogy én inkább csinálni.
Ez csak a preferált stílus, de vagy jól van,
mindketten képviselik elég ugyanarra a dologra.
>> Akkor miért van hexadecimális király?
Miért van szükség, hogy ezt a Más további bázis?
Már van 2 és 10, miért van szükségünk 16?
Nos 16 2 hatványa, és így Minden hexadecimális számjegy, a 0 és f,
megfelel egy egyedi megrendelés, illetve egyedi megállapodás
4 bináris számjegy, 4 bit.
És így ebben az értelemben, tudjuk kifejezni nagyon hosszú, bonyolult, bináris számokat
hexadecimális egy sokkal szabatos,
adatvesztés nélkül, vagy kellene do különösen nehézkes konverziók
ezeket a számokat.
>> Szóval, ahogy mondtam, Minden hexadecimális számjegy
megfelel egy egyedi elrendezése 4 bináris számjegy.
Így a bináris sztring 0000 megfelel hexadecimális számjegy 0.
0110 megfelel hexadecimális számjegy 6.
És 1111 megfelel a hexadecimális számjegy f.
Ha ránézünk ezt a táblázatot, különösen
ha ránézünk a bal oldalon a diagram,
akkor már látni van egy kis kétértelműséget probléma van.
Tizedes 0 nagyjából megkülönböztethetetlen hexadecimális 0,
Más, mint az a tény, hogy ez alatt egy oszlopot, amely azt mondja hexadecimális.
>> De valószínűleg nem mindig Van, hogy oszlop van.
Általában amikor mi kifejező számokat hexadecimálisat
egyértelműen megkülönböztetni őket a tízes számrendszerben,
mi általában előtag őket előtaggal 0x.
0x semmit sem jelent a valóságban, ez csak egy nyom minket, mint az emberek
hogy mi vagyunk arról, hogy, vagy hamarosan elemzés,
egy hexadecimális szám.
Nyilvánvalóan a nagyobb számjegy a, b, c, d, és f, amelyek megfelelnek a 10-15
ez elég egyértelmű, hogy ez ez egy hexadecimális szám.
És valóban, bármilyen hexadecimális szám, a betűk benne,
Valószínűleg elég nyilvánvaló hexadecimális számként.
De, még mindig, az Az egyértelműség kedvéért ez
Mindig jó ötlet előtag minden alkalommal, amikor
utal egy számjegyű hexadecimális szám elé egy 0x.
>> Szóval, bináris, mint mi mondta, van helye értékeket.
Van az is helye, a kettes helyen, A négyesek helyet, és egy nyolcas sor.
És tizedes is helyet értékeket, a is, több tíz, száz, ezer és
hogy mindannyian hívhatják vissza osztályos iskola.
És hexadecimális nincs kivétel itt, de tényleg.
Azt is helyet értékeket, hanem lét hatásköre 2 vagy hatáskörökkel 10,
ők hatásköreit 16.
>> Tehát azt látjuk, számos ehhez hasonló vagyunk elég jól tudja, hogy ez 397, ugye?
Nos, ha látunk egy számot, mint ez, tudjuk, hogy ez nem 397 többé.
Ez a hexadecimális A hármas számú-kilenc-hetes.
Ez nem 397, az azt jelenti, valami más,
mert mi használ hatásköre 16, mint az összes helyünket értékek helyett a hatalmi ágak
10.
Tény, hogy az a hely, értékek itt lenne azok, akik helyén, a sixteens hely,
és a kétszáz ötven hatos helyen, amelyek megfelelnek az elképzeléseinket egy is
hely, tízes hely, és egy több száz helye, ha a szám 397.
De mivel ez 0-szeres 397, van Egy egyesek helyére, sixteens helyen,
és a kétszáz ötven hatos helyen.
Vagy, egy 16 a 0 helyre, amely az 1.
A 16 az első elektromos helyen, 16.
A 16 faragva helyen, 256, és így tovább, és így tovább, és így tovább.
Tehát ez a szám valóban 3-szor 16 faragva, plusz 9-szer 16, plusz 7.
Nem tettem a matek van, de ez nem 397, hanem sokkal, sokkal nagyobb annál.
>> Hasonlóképpen, mi lehetett volna 0x ADC, Hát ez egy alkalommal 16 faragva.
Vagy ha átviszem az elképzeléssel Az egész szám, ami 10-szer
16 faragva, valamint d alkalommal 16, vagy plusz 13 alkalommal 16.
És ne aggódj, ha nem betanult hogy d 13, vagy ilyesmi,
ott nem túl sok Ezen levél számjegy
és ez lesz belőle intuitív elég gyorsan.
Szóval megint ez 10-szer 16 faragva, plusz 13 alkalommal 16, plusz 12-szer 1.
Tehát 0x adc.
>> Szóval, ahogy mondtam, minden csoport 4 bináris számjegy
megfelel egyetlen, hexadecimális számjegy,
és így valóban nagyon egyszerűen cserélhető oda-vissza
közötti hexadecimális és bináris.
Ha ez hosszú sora bináris számjegy, mindössze annyit kell tennie,
A kezdeni csoportosítsa őket jobb balra a 4-es csoportokba.
És akkor konszolidálja őket hexadecimális számok,
súlyosan számának korlátozásával számjegy van feldolgozni mentálisan.
Ahelyett 32 0 és 1-es, mint látni fogjuk, egy második,
akkor lehet, hogy le csak 8 hexadecimális számjegyek sok
tömörebb.
>> A grafikonok néhány diák hátsó fog segít, hogy kitaláljuk, ezt feltérképezése,
bár, ismét azt is megtudhatod megjegyeznünk elég gyorsan.
Elmegyünk egy példán keresztül most.
Tehát ha van egy szám, mint ez, ez tényleg nagy bináris számot,
vagy mi úgy tűnik, hogy nagy bináris szám.
És azért mondom, hogy ez Csak so-- ez egy behemót, ugye?
Annyi 0 és 1-es van.
De valószínűleg nem tényleg van értelme annak, amit
A nagysága ezt a számot valójában.
Jelenleg nincs fogalmad arról, milyen felelne meg tizedes.
És valóban nem is fogunk látni, mit megfelel a tizedes most.
Mi képes lehet kifejezni ezt oly módon, hogy
adna nekünk némi információt arról, hogy milyen nagy ez a szám.
>> Szóval menjünk, hogy átalakítási folyamat.
Az első dolog, amire szükségünk tennie, hogy akarunk-csoport
Ezeknek a számoknak ki csoportokba 4, kezdve a jobb
és azon dolgozik, hogy a bal oldalon.
Ott történetesen 32 számjegy Itt, ami azt jelenti, hogy van
Szép, tiszta szünetet 8 csoportban 4.
Ne feledje, hogy minden csoport a 4 Itt, egyedülállóan megfelel
egy hexadecimális számjegy.
Tehát kezdjük újra építjük szám a jobb, és a munka maradt.
Nos, mi a 1101?
Nos, nem a matek ki a fejünkben, van 1 a nyolcas sor, 1
A négykézláb helyen, a 0 a kettes helyen, és egy 1 az egyesek helyén.
Ez 8 plusz 4, plusz 1, amely akkor tudjuk, a 13.
De talán nem írna közül 13, mert mi dolgozunk hexadecimális.
Meg kell alakítani a hexadecimális ekvivalens 13, ami d.
>> 0011, nos ez egy 0 a nyolcas sor, a 0 négyesével helyen,
egy 1 a kettesével helyén, és egy 1 az egyesek helyén.
Ez 3.
Úgy értem csinálom ezt újra, mi van itt 9.
Majd 11, de ez b, visszahívás.
2, 10-- vagy egy-- 6, és a 4.
És így, hogy nagyon nagy húr 0 és 1-es a felső
A tömörebben kifejezve hexadecimális mint 0x 46a2b93d.
>> Na jó, most már megtanultam egy új hűvös készség, mi az értelme?
Talán nem használja ezt a idő, mivel fogunk hamarosan látni,
használjuk hexadecimális elég Sok programozók.
Nem feltétlenül a célja csinál matek vele,
hanem azért, mert egy csomó idő memória címek a rendszerünkben
képviselteti magát hexadecimális.
Ez egy nagyon tömören kifejezni különben nehézkes, bináris számokat.
És igen, megint, lehet, nem-- akkor valószínűleg
Nem fog csinálni bármilyen matematikai vele, akkor nem
lesz megszorozzuk hexadecimális számok együtt,
avagy semmi furcsát, mint ezt.
De ez egy hasznos képesség, hogy az így kifejezni és megérteni,
memória címek, és egyéb felhasználási módját adatok C.
>> Én Doug Lloyd, ez CS50.