DOUG LLYOYD: Takže hexadecimálne čísla, ako by sme potrebovali ďalšie základné číslo Schéma v poriadku? No, väčšina západných kultúr, ako ste pravdepodobne oboznámení, použite desatinnú system-- základňu 10, k reprezentácii číselných dát. Máme číslica 0, 1, 2, 3, 5, 6, 7,8,9. A ak budeme potrebovať k reprezentácii hodnoty vyššie ako deväť, môžeme kombinovať tieto číslice použitie pojmu miesto hodnoty. Takže pre 10, máme 1 číslica nasleduje 0 číslicou a my sme intuitívne pochopiť, že to, čo robíme je tu sme násobenie prvá 1 o 10, a potom sa pridá 0 pre celkom 10. Počítače niečo urobiť pekný podobné, ako budete pravdepodobne poznať, s binárnym system-- základni 2. Rozdiel tam byť že existujú iba 2 číslice pracovať with-- 0 a 1. A tak naše miesto hodnoty, namiesto toho, aby raz, ten, set, tisíc, ako sa by byť v desiatkovej sústave, sú jeden, dva, štyri, osem, a tak ďalej. Tu je vec však, tieto 0 a 1, najmä či máme byť počítačoví odborníci a robíme veľa programovanie alebo pri práci s počítačmi, šli , Ktoré majú byť vidieť veľké množstvo binárnych čísel. A tí, 0 a 1 je vo veľkých reťazcoch môže byť veľmi ťažké spracovať. Nemôžeme sa len pozrieť na reťazce 0 a 1 je a nutne vedieť, presne to, čo to je. Ale je to ešte užitočné mať možnosť expresné údaje rovnakým spôsobom že počítač robí. Máme tento pojem z hexadecimálne systém, ktorý je základňa 16, namiesto toho, báza 10 alebo základné 2. Čo znamená, že budeme mať 16 číslic pracovať s miesto 10 alebo 2. A je to oveľa viac stručné spôsob, ako vyjadriť binárne informácie o počítačovom systéme, je to oveľa ľudskejší pochopiteľné. Takže máme číslica 0 až 9, a potom máme tiež tieto ďalšie šesť digits-- si, b, c, d, e, a f, ktoré predstavujú 10, náš pojem 10, 11, 12, 13, 14 a 15, v desiatkovej sústave. Niekedy, mimochodom, budete aj vy vidieť tieto a až f ako kapitálové A až F, čo je spôsob, ako mám tendenciu robiť. Je to len môj prednostné štýl, ale buď je v poriadku, obe predstavujú celkom to isté. Tak prečo je hexadecimálne v pohode? Prečo musíme použiť ďalšie dodatočné základňa? Máme už 2 a 10, prečo potrebujeme 16? No 16 je sila 2, a tak každý hexadecimálne číslice, 0 až f, zodpovedá jedinečný usporiadanie, alebo jedinečné usporiadanie 4 binárnych čísel, 4 bity. A tak sa v tomto zmysle, môžeme vyjadriť veľmi dlhé, komplexné, binárne čísla v šestnástkovej sústave v A oveľa stručnejšia spôsob, bez straty informácií alebo majú na robiť najmä neskladné konverzie Na týchto čísel. Takže, ako som práve povedal, každý hexadecimálne číslice zodpovedá jedinečný usporiadanie 4 binárnych čísel. Takže na binárny reťazec 0000 zodpovedá hexadecimálne znak 0. 0110 zodpovedá šestnástkovej číslica 6. A 1111 odpovedá šestnástkovej číslice f. Ak ste pri pohľade na tento graf, zvlášť ak ste pri pohľade na ľavá strana grafu, môžete už vidieť, že je to bit z problému nejednoznačnosti tu. Desatinné 0 je do značnej miery na nerozoznanie od hexadecimálne 0, iný ako skutočnosť, že je to v rámci stĺpec, ktorý hovorí, že hexadecimálne. Ale asi nebude vždy mať tento stĺpec tam. Všeobecne, keď sme vyjadrovanie Čísla v šestnástkovej sústave jasne rozlíšiť im v desiatkovej, zvyčajne je prefix s predponou 0x. 0x neznamená nič v realite, je to len vodítko k nám ako ľudia že to, čo sa chystáme vidieť, alebo sa chystáte začať rozobrať, je šestnástkové číslo. Je zrejmé, pre vyššie číslice a, b, c, d, a f, čo zodpovedá 10-15 je to celkom jednoznačné, že je to to je šestnástkové číslo. A v skutočnosti, ľubovoľný hexadecimálne číslo, ktoré má znaky v tom, je asi celkom zrejmé, ako šestnástkové číslo. Ale napriek tomu, pre Z dôvodov jasnosti, je to vždy dobrý nápad prefix zakaždým, keď odkazovať na číslicu ako hexadecimálne Číslo pridaním prefixu 0x. Takže, binárne, ako my povedal, má place hodnoty. Je tu tí miesto, dvojky miesto, štvorky miesto, a osmičky miesto. A desiatkovej má tiež umiestniť hodnôt, ones, desiatky, stovky a tisíce že my všetci si možno spomenú, od základnej školy. A hexadecimálne nie je Výnimkou tu, naozaj. Má tiež place hodnoty, ale namiesto z toho, že právomoci 2 alebo sily 10, sú to sily 16. Tak sme vidieť rad ako je táto, celkom jasne viem, že je 397, nie? No, ak vidíme čísla ako je tento, vieme, že to nie je 397 už nie. Toto je šestnástkový číslo tri deväť sedem. Nie je to 397, znamená to, niečo odlišné, preto, že sme s použitím sily 16, ako všetko nášho miesta hodnôt namiesto právomocí 10. V skutočnosti, tu by sa namiesto hodnoty byť tými, miesto je sixteens miesto, a dvestopäťdesiat šestky miesto, čo zodpovedá našej myšlienke na tie miesto, miesto desiatok a stoviek miesto, v prípade, že ich bolo 397. Ale pretože je to 0x 397, máme Ones miesto, sixteens miesto, a dvestopäťdesiat šestky miesto. Alebo, 16 na 0 miesta, čo je 1. A 16 na prvé napájacie miesto, 16. A 16 na druhú miesto, 256, a tak ďalej, a tak ďalej, a tak ďalej. Takže toto číslo je v skutočnosti 3 krát 16 štvorcový plus 9 krát 16 plus 7. Nechcel som si to spočítajte tu, ale to nie je 397, je to oveľa, oveľa väčšie než to. Rovnako tak by sme mohli mať 0x ADC, dobre, že je doba 16 na druhú. Alebo ak prekladáme, že k našej predstave desatinných čísel, to je 10 krát 16 štvorcový Plus d krát 16, alebo plus 13 krát 16. A nebojte sa, ak ste naspamäť že d je 13, alebo niečo také, tam nie je príliš veľa z týchto písmen číslic a to bude stáť intuitívne celkom rýchlo. Takže znovu To je 10 krát 16 na druhú, a 13 krát 16 plus 12 krát 1. Takže 0x ADC. Takže, ako som povedal, každý skupina 4 binárnych číslic zodpovedá jedinému hexadecimálne číslice, a tak to je vlastne naozaj ľahko meniť tam a späť medzi hexadecimálne a binárne. Ak máte tento dlhý reťazec binárne číslice, všetko, čo potrebujete urobiť, je začať zoskupovať je správna doľava ako skupiny 4. A potom môžete konsolidovať je do čísel šestnástkovej, hrozne obmedzenie počtu Číslice musíte spracovať psychicky. Namiesto toho, aby 32 0 a 1 je, ako uvidíme v druhej, by ste mali byť schopní sa dostať dole na iba 8 hexadecimálnych číslic, veľa stručnejší. Grafy niekoľko zasunie späť bude vám pomôže zistiť, toto mapovanie, aj keď, opäť budete zapamätať celkom rýchlo. Prejdeme príklad práve teraz. Takže ak máme rad ako je tento, to naozaj veľký binárne číslo, alebo to, čo sa zdá byť veľké binárne číslo. A dôvod, prečo hovorím, že je to Len tak--, že je to monštrum, že jo? Je tu toľko 0 a 1 je tam. Ale pravdepodobne nie naozaj zmysel toho, čo Veľkosť tohto čísla v skutočnosti je. Nemáme poňatia, čo to by zodpovedalo desatinnej čiarky. A v skutočnosti sme sa ani vidieť, čo to zodpovedá v desiatkovej sústave práve teraz. Mohli by sme byť schopní vyjadriť to tak, že by nám nejaké bližšie informácie len o tom, ako veľké je toto číslo. Tak poďme k tomuto procesu konverzie. Prvá vec, ktorú musíme musíte urobiť, je chceme zoskupiť Tieto číslice sa do skupín 4, od pravej a pracovné doľava. Tam stalo, že sa 32 číslic tu, čo znamená, že máme pekný čistý zlom 8 skupín po 4. Pamätajte si, že každú skupinu 4 tu unikátne zodpovedá do hexadecimálnom kóde. Takže začneme znovu budovať naše číslo sprava, a pracovné odišiel. No čo je 1.101? Tak sme si to spočítajte v našej hlave, máme 1 v ôsmy mieste, 1 na mieste štyroch, s 0 v dvojky miesto a 1. miesto v ones mieste. To je 8 plus 4 plus 1, ktoré by sme vedieť, ako 13. Ale pravdepodobne nebude písať 13 out, pretože pracujeme s hexadecimálne. Musíme previesť na šestnástkové ekvivalent 13, ktorý je d. 0011, dobre, že je to 0 v osmičky miesto, 0 na štyroch mieste, 1 v mieste po dvoch, a 1 na jednotkovú mieste. To je 3. Mám na mysli to robiť to opäť tu máme 9. A potom 11, ale to je b, odvolanie. 2, 10-- alebo je-- 6, a 4. A tak, že veľmi veľký reťazec z 0 a 1 rokoch na vrchol Je výstižnejšie vyjadrené v šestnástkovej sústave ako 0x 46a2b93d. No, OK, sme sa naučili nové pohode zručnosť, aký to má zmysel? Mohli by sme to použiť všetky čas, ako budeme čoskoro vidieť, používame šestnástkové docela veľa ako programátori. Nie nutne pre Účelom tým matematiku s tým, ale pretože mnohokrát pamäťové adresy v našom systéme sú zastúpené v šestnástkovej sústave. Je to naozaj stručný spôsob, ako vyjadriť inak ťažkopádne, binárne čísla. A tak opäť, môže sa ne-- ste pravdepodobne nebude robiť žiadne matematiku s tým, že nie ste Bude násobenie hexadecimálne čísla dohromady, alebo robiť niečo divne takhle. Ale je užitočná zručnosť mať takže si môžete vyjadrovať a chápať pamäť adresy, a ďalšie spôsoby s použitím dát v C. Som Doug Lloyd, je to CS50.