1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 DOUG LLYOYD: numery Więc szesnastkowym, jakby potrzebowaliśmy inny numer bazowy 3 00:00:08,510 --> 00:00:09,970 właściwy schemat? 4 00:00:09,970 --> 00:00:13,000 Cóż, większość kultur zachodnich, jak zapewne znają, 5 00:00:13,000 --> 00:00:16,560 użyj przecinka system-- bazy 10, do reprezentowania danych numerycznych. 6 00:00:16,560 --> 00:00:20,520 Mamy cyfry 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 A jeśli potrzebujesz do reprezentowania wartości powyżej dziewięciu, 8 00:00:23,890 --> 00:00:26,800 możemy połączyć te cyfry używając pojęcia wartości lokalu. 9 00:00:26,800 --> 00:00:30,115 Więc na 10, mamy 1 cyfra po cyfrze przez 0 10 00:00:30,115 --> 00:00:32,240 i intuicyjnie zrozumieć że to, co robimy 11 00:00:32,240 --> 00:00:35,500 istnieje jesteśmy pomnożenie pierwszy 1 przez 10, 12 00:00:35,500 --> 00:00:37,689 a następnie dodanie 0 do sumy 10. 13 00:00:37,689 --> 00:00:40,480 Komputery coś zrobić ładny podobnie, jak jesteś prawdopodobnie zna, 14 00:00:40,480 --> 00:00:42,409 z binarnym system-- podstawy 2. 15 00:00:42,409 --> 00:00:44,700 Różnica nie jest że istnieją tylko 2 cyfry 16 00:00:44,700 --> 00:00:46,770 pracować with-- 0 i 1. 17 00:00:46,770 --> 00:00:49,033 A więc nasze miejsce wartości, zamiast jednego, 18 00:00:49,033 --> 00:00:52,600 dziesięć, sto, tysiąc, ponieważ będzie w systemie dziesiętnym, 19 00:00:52,600 --> 00:00:57,690 są jeden, dwa, cztery, osiem, i tak dalej. 20 00:00:57,690 --> 00:01:00,842 Oto rzeczy, choć, te 0 i 1, w szczególności 21 00:01:00,842 --> 00:01:03,800 jeśli mamy być informatyków i robimy dużo programowania 22 00:01:03,800 --> 00:01:06,924 lub pracy z komputerami, były dzieje należy widzieć wiele liczb binarnych. 23 00:01:06,924 --> 00:01:11,660 I te 0 i 1 w dużych sieci może być bardzo trudne do analizowania. 24 00:01:11,660 --> 00:01:16,610 Nie możemy po prostu patrzeć na ciąg 0 i 1 i musi wiedzieć, 25 00:01:16,610 --> 00:01:17,810 dokładnie co to jest. 26 00:01:17,810 --> 00:01:21,980 Ale to jeszcze przydaje się możliwość wyraźnych danych w taki sam sposób, 27 00:01:21,980 --> 00:01:23,480 że komputer robi. 28 00:01:23,480 --> 00:01:26,580 Mamy to pojęcie System szesnastkowy, który jest 29 00:01:26,580 --> 00:01:29,840 Podstawa 16, zamiast podstawy 10 lub podstawy 2. 30 00:01:29,840 --> 00:01:34,420 Co oznacza, że ​​mamy 16 cyfr pracować zamiast 10 lub 2. 31 00:01:34,420 --> 00:01:37,180 I jest to o wiele bardziej zwięzły sposób wyrazić 32 00:01:37,180 --> 00:01:41,210 binarny informacji w systemie komputerowym, to jest o wiele bardziej ludzka zrozumiałe. 33 00:01:41,210 --> 00:01:43,520 Więc mamy cyfry 0 do 9, a następnie 34 00:01:43,520 --> 00:01:49,480 mamy także te dodatkowe sześć digits-- się, b, c, d, e, i f, które odpowiadają 10, 35 00:01:49,480 --> 00:01:56,050 nasz pogląd 10, 11, 12, 13, 14 i 15, w postaci dziesiętnej. 36 00:01:56,050 --> 00:01:59,787 Czasami, przy okazji, będziesz również zobacz te a do f-tych jako kapitał a 37 00:01:59,787 --> 00:02:01,620 przez F, który jest sposób staram się to zrobić. 38 00:02:01,620 --> 00:02:04,560 To tylko moja preferowane styl, ale albo jest w porządku, 39 00:02:04,560 --> 00:02:07,870 obaj reprezentują dość wiele to samo. 40 00:02:07,870 --> 00:02:09,090 >> Więc dlaczego jest cool szesnastkowy? 41 00:02:09,090 --> 00:02:11,580 Dlaczego musimy to wykorzystać inne dodatkowe baza? 42 00:02:11,580 --> 00:02:14,310 Mamy już 2 i 10, po co nam 16? 43 00:02:14,310 --> 00:02:21,650 No 16 jest potęgą 2, i tak każda cyfra szesnastkowa, 0 do F, 44 00:02:21,650 --> 00:02:25,440 Odpowiada to unikalne zamawiania lub unikalny układ 45 00:02:25,440 --> 00:02:29,060 z 4 cyfr binarnych, 4 bitów. 46 00:02:29,060 --> 00:02:34,570 I tak, w tym sensie, możemy wyrazić bardzo długie, skomplikowane, liczb binarnych 47 00:02:34,570 --> 00:02:36,440 w systemie szesnastkowym w miłym znacznie bardziej zwięzły sposób, 48 00:02:36,440 --> 00:02:41,080 bez utraty informacji lub konieczności szczególnie uciążliwych zrobić konwersje 49 00:02:41,080 --> 00:02:42,480 na tych liczb. 50 00:02:42,480 --> 00:02:44,880 >> Tak więc, jak już powiedziałem, każda cyfra szesnastkowa 51 00:02:44,880 --> 00:02:48,630 Odpowiada to unikalne Układ z 4 cyfr binarnych. 52 00:02:48,630 --> 00:02:53,670 Tak więc ciąg binarny 0000 odpowiada szesnastkowym cyfrą 0. 53 00:02:53,670 --> 00:03:00,340 0110 odpowiada szesnastkowym cyfrę 6. 54 00:03:00,340 --> 00:03:05,225 I 1111 odpowiada do szesnastkowym cyfrowy f. 55 00:03:05,225 --> 00:03:07,100 Jeśli szukasz w Ten wykres, szczególnie 56 00:03:07,100 --> 00:03:09,099 jeśli szukasz u Lewa strona wykresu 57 00:03:09,099 --> 00:03:11,970 widać już istnieje trochę problemem niejednoznaczności tutaj. 58 00:03:11,970 --> 00:03:15,229 Dziesiętny 0 jest dość dużo nie do odróżnienia od szesnastkowym 0, 59 00:03:15,229 --> 00:03:18,020 poza faktem, że jest to pod kolumna, która mówi szesnastkowo. 60 00:03:18,020 --> 00:03:22,130 >> Ale chyba nie zawsze tak będzie mają tę kolumnę tam. 61 00:03:22,130 --> 00:03:25,420 Ogólnie, gdy wyrażamy liczb w systemie szesnastkowym 62 00:03:25,420 --> 00:03:28,130 wyraźnie rozróżnić je z notacji dziesiętnej, 63 00:03:28,130 --> 00:03:31,860 zwykle je poprzedzić z przedrostkiem 0x. 64 00:03:31,860 --> 00:03:35,990 0x nic nie znaczy w rzeczywistości, to tylko wskazówka dla nas jako ludzi 65 00:03:35,990 --> 00:03:39,190 że to, co sami zobaczycie, lub zamierza rozpocząć analizowania, 66 00:03:39,190 --> 00:03:40,750 Jest to liczba szesnastkowa. 67 00:03:40,750 --> 00:03:45,590 Oczywiście dla większych cyfr, a, b, c, d, f, które odpowiadają 10-15 68 00:03:45,590 --> 00:03:48,840 to jest dość jednoznaczne, że to to liczba w systemie szesnastkowym. 69 00:03:48,840 --> 00:03:51,620 A w rzeczywistości, każdy szesnastkowym numer, który ma liter w nim, 70 00:03:51,620 --> 00:03:54,642 to chyba dość oczywiste, jako liczba szesnastkowa. 71 00:03:54,642 --> 00:03:56,350 Ale wciąż, dla jasności, to 72 00:03:56,350 --> 00:03:58,290 zawsze dobry pomysł, aby prefiks każdym razem 73 00:03:58,290 --> 00:04:01,835 odnosi się do cyfry w kodzie szesnastkowym Numer poprzedzając to 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> Tak, binarne, jak my powiedział, ma miejsce wartości. 76 00:04:06,810 --> 00:04:10,040 Jest to miejsce, te, miejsce dwójki, miejsce czwórki, i ósemki miejsce. 77 00:04:10,040 --> 00:04:13,640 A także miejsce dziesiętne ma wartości, ones, dziesiątki, setki i tysiące 78 00:04:13,640 --> 00:04:15,910 że wszyscy możemy przywołać od szkoły podstawowej. 79 00:04:15,910 --> 00:04:18,050 I szesnastkowym ma Wyjątkiem, naprawdę. 80 00:04:18,050 --> 00:04:22,660 Posiada również miejsce, ale zamiast wartości bycia uprawnień 2 lub uprawnień 10, 81 00:04:22,660 --> 00:04:25,050 oni uprawnienia 16. 82 00:04:25,050 --> 00:04:29,410 >> Widzimy więc, jak ten numer my dość jasno wiedzieć, że to 397, prawda? 83 00:04:29,410 --> 00:04:33,420 Cóż, jeśli widzimy szereg tak, wiemy, że to nie jest 397 więcej. 84 00:04:33,420 --> 00:04:36,730 To szesnastkowym numer trzy-dziewięć-siedem. 85 00:04:36,730 --> 00:04:39,680 To nie jest 397, to oznacza, coś innego, 86 00:04:39,680 --> 00:04:44,180 ponieważ używamy uprawnień 16 jak wszystkie nasze miejsce wartości zamiast uprawnień 87 00:04:44,180 --> 00:04:45,560 10. 88 00:04:45,560 --> 00:04:50,570 W istocie, wartości tu miejsce będzie być miejsce te, miejsce sixteens, 89 00:04:50,570 --> 00:04:55,080 i dwieście pięćdziesiąt szóstki miejsce, które odpowiadają naszej idei tych 90 00:04:55,080 --> 00:04:59,180 miejsce, dziesiątki miejsce, a setki miejsce, jeśli liczba była 397. 91 00:04:59,180 --> 00:05:03,620 Ale ponieważ jest to 0x 397, mamy sixteens ones miejsce, miejsce, 92 00:05:03,620 --> 00:05:05,780 i dwieście pięćdziesiąt szóstki miejsce. 93 00:05:05,780 --> 00:05:09,460 Albo, 16 do 0, które jest miejsce 1. 94 00:05:09,460 --> 00:05:12,420 A 16 do pierwszego miejsca zasilania, 16. 95 00:05:12,420 --> 00:05:17,080 A 16 do kwadratu miejsce, 256 i tak dalej, i tak dalej, i tak dalej. 96 00:05:17,080 --> 00:05:24,400 Tak naprawdę ta liczba jest 3 razy 16 do kwadratu plus 9 razy 16 plus 7. 97 00:05:24,400 --> 00:05:28,980 Nie do matematyki, ale to nie jest 397, to jest o wiele, wiele większe niż to. 98 00:05:28,980 --> 00:05:34,050 >> Podobnie, możemy mieć 0x ADC, dobrze, że to razy 16 do kwadratu. 99 00:05:34,050 --> 00:05:38,220 Albo, jeśli tłumaczymy, że do naszego pojęcia liczb po przecinku, to 10 razy 100 00:05:38,220 --> 00:05:44,160 16 do kwadratu plus d razy 16, lub plus 13 razy 16. 101 00:05:44,160 --> 00:05:47,410 I nie martw się, jeśli nie na pamięć że d jest 13, lub coś podobnego, 102 00:05:47,410 --> 00:05:49,201 nie ma tam zbyt wiele z tych cyfr, liter 103 00:05:49,201 --> 00:05:52,820 i będzie to stać Intuicyjny dość szybko. 104 00:05:52,820 --> 00:05:59,800 Więc jeszcze raz to jest 10 razy 16 do kwadratu, oraz 13 razy 16, plus 12 razy 1. 105 00:05:59,800 --> 00:06:03,640 Więc 0x ADC. 106 00:06:03,640 --> 00:06:07,750 >> Tak, jak powiedziałem, na co grupa 4 cyfr binarnych 107 00:06:07,750 --> 00:06:10,000 odpowiada pojedyncza szesnastkowy cyfrowy, 108 00:06:10,000 --> 00:06:12,570 a więc jest to rzeczywiście bardzo łatwo zmienić w przód iw tył 109 00:06:12,570 --> 00:06:14,690 między formacie binarnym i szesnastkowym. 110 00:06:14,690 --> 00:06:18,310 Jeśli masz ten długi ciąg cyfr binarnych, wszystko co musisz zrobić, 111 00:06:18,310 --> 00:06:21,320 jest rozpocząć grupując je w prawo w lewo, jak grupy 4. 112 00:06:21,320 --> 00:06:26,550 A potem można skonsolidować je do liczb szesnastkowych, 113 00:06:26,550 --> 00:06:30,910 poważnie ogranicza liczbę cyfry trzeba przetwarzać psychicznie. 114 00:06:30,910 --> 00:06:33,680 Zamiast 32 0 i 1-ki, jak zobaczymy za chwilę, 115 00:06:33,680 --> 00:06:37,630 może być w stanie dostać się na dół do zaledwie 8 cyfr szesnastkowych, dużo 116 00:06:37,630 --> 00:06:39,200 bardziej zwięzłe. 117 00:06:39,200 --> 00:06:43,500 >> Wykresy kilka zjeżdżalnie BACK pomóc dowiedzieć się, to odwzorowanie, 118 00:06:43,500 --> 00:06:45,660 choć znowu będziesz zapamiętać je dość szybko. 119 00:06:45,660 --> 00:06:47,320 Pojedziemy przez przykład teraz. 120 00:06:47,320 --> 00:06:51,507 Więc jeśli mamy wiele w ten sposób, to naprawdę duża liczba binarna, 121 00:06:51,507 --> 00:06:53,340 lub co wydaje się być duża liczba binarna. 122 00:06:53,340 --> 00:06:56,260 A powodem mogę powiedzieć, że jest to tylko SO- jest to moloch, prawda? 123 00:06:56,260 --> 00:06:58,959 Jest tak wielu 0 i 1 jest tam. 124 00:06:58,959 --> 00:07:01,000 Ale chyba nie naprawdę mają sens tego, co 125 00:07:01,000 --> 00:07:02,870 wielkość tego numeru jest naprawdę. 126 00:07:02,870 --> 00:07:06,150 Nie mamy pojęcia, co go będzie odpowiadać po przecinku. 127 00:07:06,150 --> 00:07:09,744 A w rzeczywistości nawet nie zobaczyć, co to odpowiada w przecinku teraz. 128 00:07:09,744 --> 00:07:11,660 Możemy być w stanie Wyrażając to w taki sposób, że 129 00:07:11,660 --> 00:07:15,640 da nam trochę więcej informacji o tym, jak duży jest ten numer jest. 130 00:07:15,640 --> 00:07:17,270 >> Więc chodźmy do tego procesu konwersji. 131 00:07:17,270 --> 00:07:19,311 Pierwszą rzeczą, jaką musimy zrobić, to chcemy grupy 132 00:07:19,311 --> 00:07:23,050 te cyfry na zewnątrz do grup 4, wychodząc od prawego 133 00:07:23,050 --> 00:07:24,120 i działa się na lewo. 134 00:07:24,120 --> 00:07:27,260 Nie stało się 32 cyfr tutaj, co oznacza, że ​​mamy 135 00:07:27,260 --> 00:07:33,210 ładne czyste przerwa 8 grup po 4. 136 00:07:33,210 --> 00:07:36,200 Pamiętaj, że każdej grupy 4 tutaj, niepowtarzalnie odpowiada 137 00:07:36,200 --> 00:07:37,760 w systemie szesnastkowym. 138 00:07:37,760 --> 00:07:42,080 Więc zaczniemy znowu Budowanie naszej Numer z prawej i lewej roboczych. 139 00:07:42,080 --> 00:07:44,890 No co jest 1101? 140 00:07:44,890 --> 00:07:49,220 Cóż możemy zrobić matematyki w naszej głowie, mamy 1 miejsce w ósemki, A 1 141 00:07:49,220 --> 00:07:54,310 w miejscu, w czworakach, a 0 w dwójkami miejsce, a 1 w miejscu jedynek. 142 00:07:54,310 --> 00:07:58,820 To 8 oraz 4 plus 1, które znamy jako 13. 143 00:07:58,820 --> 00:08:02,400 Ale prawdopodobnie nie pisać 13 z, ponieważ pracujemy z szesnastkowym. 144 00:08:02,400 --> 00:08:07,982 Musimy przekształcić go w systemie szesnastkowym odpowiednik 13, które jest d. 145 00:08:07,982 --> 00:08:12,940 >> 0011, dobrze, że to 0 w ósemki miejsce, wartość 0 czwórkami miejscu, 146 00:08:12,940 --> 00:08:15,190 1 na miejscu dwójek, i 1 w miejscu nich. 147 00:08:15,190 --> 00:08:16,880 To 3. 148 00:08:16,880 --> 00:08:20,180 To znaczy robić to znowu mamy tutaj 9. 149 00:08:20,180 --> 00:08:23,850 A następnie 11, ale to b, przypomnieć. 150 00:08:23,850 --> 00:08:30,570 2, 10-- lub A-- 6 i 4. 151 00:08:30,570 --> 00:08:34,669 I tak, że bardzo duży ciąg z 0 i 1-tych na górze 152 00:08:34,669 --> 00:08:38,549 jest bardziej zwięźle wyrażony w systemie szesnastkowym jako 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> No, OK, nauczyliśmy nowy fajne umiejętności, o co chodzi? 155 00:08:45,870 --> 00:08:49,560 Możemy nie używać tego wszystkiego Czas, jak mamy zamiar wkrótce, 156 00:08:49,560 --> 00:08:52,370 używamy szesnastkowo dość dużo jak programistów. 157 00:08:52,370 --> 00:08:55,060 Niekoniecznie dla Celem temu matematyczne z nim, 158 00:08:55,060 --> 00:08:58,470 ale dlatego, że wiele razy adresy pamięci w naszym systemie 159 00:08:58,470 --> 00:09:00,440 są reprezentowane w systemie szesnastkowym. 160 00:09:00,440 --> 00:09:04,390 To bardzo zwięzły sposób wyrazić w inny sposób uciążliwe, liczb binarnych. 161 00:09:04,390 --> 00:09:06,440 I tak, jeszcze raz, może not-- prawdopodobnie jesteś 162 00:09:06,440 --> 00:09:07,640 Nie będziemy robić żadnych matematyki z tym, że nie są 163 00:09:07,640 --> 00:09:09,848 będzie pomnożenie Liczby szesnastkowe razem, 164 00:09:09,848 --> 00:09:11,770 lub robi coś dziwnego w tym stylu. 165 00:09:11,770 --> 00:09:16,120 Ale jest to przydatna umiejętność mieć więc można wyrazić i zrozumieć 166 00:09:16,120 --> 00:09:23,290 Pamięć adresy i inne sposoby wykorzystania danych w C 167 00:09:23,290 --> 00:09:26,240 >> Jestem Doug Lloyd, to CS50. 168 00:09:26,240 --> 00:09:28,028