1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 Doug LLYOYD: Tātad heksadecimālo skaitļu, it kā mums vajadzēja vēl bāziskums 3 00:00:08,510 --> 00:00:09,970 shēma labi? 4 00:00:09,970 --> 00:00:13,000 Nu, lielākā daļa Rietumu kultūru, kā jūs, iespējams, ir pazīstami, 5 00:00:13,000 --> 00:00:16,560 izmantot decimāldaļu system-- bāzi 10, lai pārstāvētu skaitliskos datus. 6 00:00:16,560 --> 00:00:20,520 Mums ir cipari 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 Un, ja mums ir nepieciešams, lai pārstāvētu vērtības lielāks nekā deviņi, 8 00:00:23,890 --> 00:00:26,800 mēs varam apvienot šos ciparus izmantojot jēdzienu vietas vērtību. 9 00:00:26,800 --> 00:00:30,115 Tātad 10, mums ir 1 cipars seko 0 ciparu 10 00:00:30,115 --> 00:00:32,240 un mēs intuitīvi saprotam ka tas, ko mēs darām 11 00:00:32,240 --> 00:00:35,500 tur ir, mēs esam reizinot pirmais 1 līdz 10, 12 00:00:35,500 --> 00:00:37,689 un pēc tam pievienojot 0, kopā 10. 13 00:00:37,689 --> 00:00:40,480 Datori darīt kaut ko diezgan līdzīgi, kā jūs, iespējams, iepazinies, 14 00:00:40,480 --> 00:00:42,409 ar bināro system-- bāzi 2. 15 00:00:42,409 --> 00:00:44,700 Atšķirība tur ir ka ir tikai 2 cipari 16 00:00:44,700 --> 00:00:46,770 strādāt with-- 0 un 1. 17 00:00:46,770 --> 00:00:49,033 Un tā mūsu vietā vērtības, tā vietā ir viens, 18 00:00:49,033 --> 00:00:52,600 desmit, simts, tūkstoši, jo tie varētu būt aiz sistēmu, 19 00:00:52,600 --> 00:00:57,690 ir viens, divi, četri, astoņi, un tā tālāk. 20 00:00:57,690 --> 00:01:00,842 Šeit ir lieta, lai gan, šie 0 un 1 s, jo īpaši 21 00:01:00,842 --> 00:01:03,800 ja mēs to datorzinātnieku un mēs darām daudz programmēšanas 22 00:01:03,800 --> 00:01:06,924 vai strādā ar datoru, gāja kas redzēt daudz bināro skaitļu. 23 00:01:06,924 --> 00:01:11,660 Un tie, 0 un 1 ir lielās ķēdēs var būt ļoti grūti apstrādāt. 24 00:01:11,660 --> 00:01:16,610 Mēs varam ne tikai apskatīt virkni 0 un 1 s un vienmēr zināt 25 00:01:16,610 --> 00:01:17,810 tieši to, kas tas ir. 26 00:01:17,810 --> 00:01:21,980 Bet tas vēl aizvien ir lietderīgi, lai varētu express dati tādā pašā veidā, 27 00:01:21,980 --> 00:01:23,480 ka dators dara. 28 00:01:23,480 --> 00:01:26,580 Mums ir šo jēdzienu no heksadecimālo sistēma, kas ir 29 00:01:26,580 --> 00:01:29,840 bāze 16, tā vietā, lai bāzes 10. vai bāzes 2. 30 00:01:29,840 --> 00:01:34,420 Kas nozīmē, ka mums ir 16 cipariem strādāt ar, nevis 10 vai 2. 31 00:01:34,420 --> 00:01:37,180 Un tas ir daudz vairāk kodolīgs veids, kā izteikt 32 00:01:37,180 --> 00:01:41,210 binārā informācija par datorsistēmā, tas ir daudz vairāk cilvēku saprotams. 33 00:01:41,210 --> 00:01:43,520 Tāpēc mums ir cipari No 0 līdz 9, un pēc tam 34 00:01:43,520 --> 00:01:49,480 mums ir arī šīs papildus seši digits-- ir, b, c, d, e, f, kas atbilst 10, 35 00:01:49,480 --> 00:01:56,050 mūsu jēdziens no 10., 11., 12., 13, 14 un 15, jo aiz komata. 36 00:01:56,050 --> 00:01:59,787 Dažreiz, starp citu, jūs arī redzēt šos A līdz F ir tik kapitāla A 37 00:01:59,787 --> 00:02:01,620 ar F, kas ir veids, kā es mēdz darīt. 38 00:02:01,620 --> 00:02:04,560 Tas ir tikai mans vēlamais stils, bet nu ir labi, 39 00:02:04,560 --> 00:02:07,870 viņi abi pārstāv diezgan daudz pats. 40 00:02:07,870 --> 00:02:09,090 >> Tātad, kāpēc ir heksadecimālo forši? 41 00:02:09,090 --> 00:02:11,580 Kāpēc mums ir nepieciešams, lai izmantotu šo citi papildu bāze? 42 00:02:11,580 --> 00:02:14,310 Mums jau ir 2 un 10, kāpēc mums vajag 16? 43 00:02:14,310 --> 00:02:21,650 Nu 16 ir jauda 2, un tā katru heksadecimālo ciparu, 0 līdz F, 44 00:02:21,650 --> 00:02:25,440 atbilst unikāls pasūtīšana, vai unikāls veidojums 45 00:02:25,440 --> 00:02:29,060 4 bināro cipari, 4 biti. 46 00:02:29,060 --> 00:02:34,570 Un tā šajā ziņā, mēs varam izteikt ļoti garš, sarežģīts bināro numuri 47 00:02:34,570 --> 00:02:36,440 heksadecimālā kādā uzņēmumā daudz vairāk kodolīgi veidā, 48 00:02:36,440 --> 00:02:41,080 nezaudējot informāciju vai kam do it īpaši apgrūtinošas konvertēšanu 49 00:02:41,080 --> 00:02:42,480 uz šiem numuriem. 50 00:02:42,480 --> 00:02:44,880 >> Tātad, kā es tikko teicu, katru heksadecimālo ciparu 51 00:02:44,880 --> 00:02:48,630 atbilst unikāls izkārtojums 4 bināro cipariem. 52 00:02:48,630 --> 00:02:53,670 Tātad bināro virkni 0000 atbilst heksadecimālo ciparu 0. 53 00:02:53,670 --> 00:03:00,340 0110 atbilst heksadecimālo ciparu 6. 54 00:03:00,340 --> 00:03:05,225 Un 1111 Atbilst uz heksadecimālo ciparu f. 55 00:03:05,225 --> 00:03:07,100 Ja jūs meklējat pie Šī diagramma, īpaši 56 00:03:07,100 --> 00:03:09,099 ja jūs meklējat pie kreisā puse no diagrammas, 57 00:03:09,099 --> 00:03:11,970 Jūs jau varat redzēt tur ir mazliet neskaidrību problēmu šeit. 58 00:03:11,970 --> 00:03:15,229 Decimal 0 ir diezgan daudz neatšķiras no heksadecimālo 0, 59 00:03:15,229 --> 00:03:18,020 izņemot to, ka tas ir saskaņā kolonna, kas saka heksadecimālo. 60 00:03:18,020 --> 00:03:22,130 >> Bet mēs, iespējams, ne vienmēr ir, ka kolonna tur. 61 00:03:22,130 --> 00:03:25,420 Parasti, kad mēs izsakot numurus heksadecimālā notācija 62 00:03:25,420 --> 00:03:28,130 skaidri atšķirt viņiem no decimālā notācija, 63 00:03:28,130 --> 00:03:31,860 mēs parasti prefiksu tos ar prefiksu 0x. 64 00:03:31,860 --> 00:03:35,990 0x ir nekas patiesībā, tas ir tikai pavediens mums kā cilvēkiem 65 00:03:35,990 --> 00:03:39,190 ka tas, ko mēs esam par to, lai redzētu, vai gatavojaties uzsākt parsēšana, 66 00:03:39,190 --> 00:03:40,750 ir heksadecimālo numuru. 67 00:03:40,750 --> 00:03:45,590 Acīmredzot par augstākās cipariem a, b, c, d, un f, kas atbilst 10-15 68 00:03:45,590 --> 00:03:48,840 tas ir diezgan nepārprotams tas tas ir heksadecimālo numuru. 69 00:03:48,840 --> 00:03:51,620 Un patiesībā, jebkurš heksadecimālo numurs, kas ir burti tajā, 70 00:03:51,620 --> 00:03:54,642 ir iespējams, ir diezgan skaidrs kā heksadecimālo numuru. 71 00:03:54,642 --> 00:03:56,350 Bet, tomēr, lai Skaidrības labad, tas ir 72 00:03:56,350 --> 00:03:58,290 vienmēr ir laba ideja, lai prefiksu katru reizi, kad 73 00:03:58,290 --> 00:04:01,835 atsaukties uz ciparu kā heksadecimālo numurs, ko prefixing ar 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> Tātad, bināro, kā mēs teica, ir vietu vērtības. 76 00:04:06,810 --> 00:04:10,040 Tur ir tie, vietu A twos vieta, Fours vietu, un astotnieki vietu. 77 00:04:10,040 --> 00:04:13,640 Un decimālo arī vietu vērtībām, tiem, desmitiem, simtiem, un tūkstošiem 78 00:04:13,640 --> 00:04:15,910 ka mēs visi varētu atcerēties no pakāpē skolā. 79 00:04:15,910 --> 00:04:18,050 Un heksadecimālo nav izņēmums šeit, tiešām. 80 00:04:18,050 --> 00:04:22,660 Tas arī ir vietu vērtības, bet tā vietā būt no 2 pilnvaru vai pilnvaras 10, 81 00:04:22,660 --> 00:04:25,050 viņi pilnvaras 16. 82 00:04:25,050 --> 00:04:29,410 >> Tātad mēs redzam virkni, piemēram, šo mēs diezgan skaidri zinu, tas ir 397, vai ne? 83 00:04:29,410 --> 00:04:33,420 Nu, ja mēs redzam virkni, piemēram, tas, mēs zinām, ka tas nav 397 vairs. 84 00:04:33,420 --> 00:04:36,730 Tas ir heksadecimālo numur trīs deviņu septiņi. 85 00:04:36,730 --> 00:04:39,680 Tas nav 397, tas nozīmē, kaut kas atšķirīgs, 86 00:04:39,680 --> 00:04:44,180 tāpēc, ka mēs esam izmantojot pilnvaras, kā 16. visu Mūsu vieta vērtībām, nevis pilnvaras 87 00:04:44,180 --> 00:04:45,560 10. 88 00:04:45,560 --> 00:04:50,570 Faktiski, tā ir vieta vērtības šeit būtu tie, vieta, tad sixteens vieta, 89 00:04:50,570 --> 00:04:55,080 un divi simti piecdesmit sixes vietu, kas atbilst mūsu ideju par tiem 90 00:04:55,080 --> 00:04:59,180 Vieta, desmitiem vietu, un a simtiem vieta, ja skaits bija 397. 91 00:04:59,180 --> 00:05:03,620 Bet, tā kā tas ir 0x 397, mums ir Ones vieta, sixteens vieta, 92 00:05:03,620 --> 00:05:05,780 un divu simti piecdesmit sixes vietu. 93 00:05:05,780 --> 00:05:09,460 Vai, 16 līdz 0 vietu, kas ir 1. 94 00:05:09,460 --> 00:05:12,420 A 16 uz pirmo strāvas vietā, 16. 95 00:05:12,420 --> 00:05:17,080 A 16 brusas vietu, 256, un tā tālāk, un tā tālāk, un tā tālāk. 96 00:05:17,080 --> 00:05:24,400 Tātad šis skaitlis ir tiešām 3 reizes 16 brusas, plus 9 reizes 16, plus 7. 97 00:05:24,400 --> 00:05:28,980 Es to nedarīju math šeit, bet tas nav 397, tas ir daudz, daudz lielāks nekā. 98 00:05:28,980 --> 00:05:34,050 >> Tāpat mēs varētu būt 0x ADC, labi, ka ir reizes 16 brusas. 99 00:05:34,050 --> 00:05:38,220 Vai, ja mēs tulkojam ka mūsu jēdzienu no aiz skaitļiem, kas ir 10 reizes 100 00:05:38,220 --> 00:05:44,160 16 brusas, plus d reizes 16 vai plus 13 reizes 16. 101 00:05:44,160 --> 00:05:47,410 Un neuztraucieties, ja jūs neesat iegaumējis ka d ir 13, vai kaut kā tā, 102 00:05:47,410 --> 00:05:49,201 tur nav pārāk daudz Šo burtu ciparu 103 00:05:49,201 --> 00:05:52,820 un tas būs kļuvis intuitīvi diezgan ātri. 104 00:05:52,820 --> 00:05:59,800 Tātad atkal tas ir 10 reizes 16 brusas, plus 13 reizes 16, plus 12 reizes 1. 105 00:05:59,800 --> 00:06:03,640 Tātad 0x ADC. 106 00:06:03,640 --> 00:06:07,750 >> Tātad, kā jau teicu, katrs grupa 4 bināro cipari 107 00:06:07,750 --> 00:06:10,000 atbilst viens heksadecimālo ciparu, 108 00:06:10,000 --> 00:06:12,570 un tāpēc tas ir tiešām ļoti viegli mainīt uz priekšu un atpakaļ 109 00:06:12,570 --> 00:06:14,690 starp hex un bināro. 110 00:06:14,690 --> 00:06:18,310 Ja jums ir šī ilgi virkni bināro cipari, viss, kas jums jādara, 111 00:06:18,310 --> 00:06:21,320 ir sākt grupējot tos pa labi pa kreisi kā grupas 4. 112 00:06:21,320 --> 00:06:26,550 Un tad jūs varat konsolidēt tos heksadecimālo skaitļu, 113 00:06:26,550 --> 00:06:30,910 stingri skaita ierobežošana Cipari jums apstrādāt garīgi. 114 00:06:30,910 --> 00:06:33,680 Tā vietā, lai 32 0 un 1 s, kā mēs redzēsim sekundē, 115 00:06:33,680 --> 00:06:37,630 Jums varētu būt iespēja saņemt to uz leju lai tikai 8 heksadecimālo ciparu, daudz 116 00:06:37,630 --> 00:06:39,200 vairāk kodolīgi. 117 00:06:39,200 --> 00:06:43,500 >> Diagrammas daži slaidi mugura palīdzēs jums, lai noskaidrotu šo kartēšanu, 118 00:06:43,500 --> 00:06:45,660 lai gan, atkal jūs iegaumēt to diezgan ātri. 119 00:06:45,660 --> 00:06:47,320 Mēs iet caur piemēru tieši tagad. 120 00:06:47,320 --> 00:06:51,507 Tātad, ja mums ir vairāki, piemēram, tas, tas tiešām liels bināro numuru, 121 00:06:51,507 --> 00:06:53,340 vai ko, šķiet, ir liels bināro numuru. 122 00:06:53,340 --> 00:06:56,260 Un iemesls, kāpēc es saku, ka tas ir tikai so-- tas ir behemoth, vai ne? 123 00:06:56,260 --> 00:06:58,959 Tur ir tik daudz 0 un 1 ir tur. 124 00:06:58,959 --> 00:07:01,000 Bet mēs, iespējams, nav tiešām ir sajūta, ko 125 00:07:01,000 --> 00:07:02,870 lielums šī skaita patiešām ir. 126 00:07:02,870 --> 00:07:06,150 Mums nav nekādu ideju, ko tā atbilstu zīmei aiz komata. 127 00:07:06,150 --> 00:07:09,744 Un patiesībā mēs pat redzēt to, ko tā atbilst decimālā tieši tagad. 128 00:07:09,744 --> 00:07:11,660 Mēs varētu izteikt to tādā veidā, ka 129 00:07:11,660 --> 00:07:15,640 dotu mums vairāk informācijas par to, cik liels šis skaitlis ir. 130 00:07:15,640 --> 00:07:17,270 >> So iesim uz šo pārveides procesu. 131 00:07:17,270 --> 00:07:19,311 Pirmā lieta, kas mums to darīt, ir, mēs vēlamies, lai grupai 132 00:07:19,311 --> 00:07:23,050 šie cipari ārā grupās 4., sākot no labās puses 133 00:07:23,050 --> 00:07:24,120 un strādā pa kreisi. 134 00:07:24,120 --> 00:07:27,260 Tur gadās būt 32 cipariem šeit, kas nozīmē, ka mums ir 135 00:07:27,260 --> 00:07:33,210 jauka tīru pārtraukums 8 grupās pa 4. 136 00:07:33,210 --> 00:07:36,200 Atcerieties, ka katras grupas 4 šeit, unikāli Atbilst 137 00:07:36,200 --> 00:07:37,760 uz heksadecimālo ciparu. 138 00:07:37,760 --> 00:07:42,080 Tāpēc mēs sāksim atkal veidošanu skaitlis no labās un darbu atstāja. 139 00:07:42,080 --> 00:07:44,890 Nu, kas ir 1101? 140 00:07:44,890 --> 00:07:49,220 Nu mēs math no mūsu galvā, mums ir 1, kas eights vietā, 1 141 00:07:49,220 --> 00:07:54,310 šajā četrrāpus vietā, 0, kas pa pāriem vieta, un 1 no tiem, vietā. 142 00:07:54,310 --> 00:07:58,820 Tas ir 8 plus 4 plus 1, kas mēs zinātu, kā 13. 143 00:07:58,820 --> 00:08:02,400 Bet mēs, iespējams, nebūtu rakstīt 13 out, jo mēs strādājam ar heksadecimālo. 144 00:08:02,400 --> 00:08:07,982 Mums ir nepieciešams, lai pārvērstu to uz heksadecimālo ekvivalents 13, kas ir d. 145 00:08:07,982 --> 00:08:12,940 >> 0011, labi, ka ir 0 In astotnieki vieta, 0, četrrāpus vietā, 146 00:08:12,940 --> 00:08:15,190 1, kas pa pāriem vietā, un 1 ones vietā. 147 00:08:15,190 --> 00:08:16,880 Tas ir 3. 148 00:08:16,880 --> 00:08:20,180 Es domāju paturēt to izdarīt atkal, mēs esam šeit 9. 149 00:08:20,180 --> 00:08:23,850 Un tad 11, bet tas ir b, atgādināt. 150 00:08:23,850 --> 00:08:30,570 2, 10-- vai a-- 6, un 4. 151 00:08:30,570 --> 00:08:34,669 Un tā, ka ļoti liela string no 0 un 1 ir no augšas 152 00:08:34,669 --> 00:08:38,549 ir vairāk lakoniski izteikta heksadecimālā kā 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> Nu, OK, mēs esam iemācījušies jaunu cool prasme, kāda jēga? 155 00:08:45,870 --> 00:08:49,560 Mēs varētu neizmantot šo visu laiks, jo mēs ejam, lai drīz redzēt, 156 00:08:49,560 --> 00:08:52,370 mēs izmantojam heksadecimālo diezgan daudz kā programmētāji. 157 00:08:52,370 --> 00:08:55,060 Ne vienmēr par nolūks darīt math ar to, 158 00:08:55,060 --> 00:08:58,470 bet tāpēc, ka daudz reižu atmiņas adreses mūsu sistēmā 159 00:08:58,470 --> 00:09:00,440 ir pārstāvētas heksadecimālo. 160 00:09:00,440 --> 00:09:04,390 Tas ir patiešām kodolīgs veids, kā izteikt citādi apgrūtinoša, bināro numuri. 161 00:09:04,390 --> 00:09:06,440 Un tā, atkal, jūs varat not-- jūs droši vien 162 00:09:06,440 --> 00:09:07,640 nav gatavojas darīt jebkuru math Ar to, jūs neesat 163 00:09:07,640 --> 00:09:09,848 būs reizinot heksadecimālo skaitļu kopā, 164 00:09:09,848 --> 00:09:11,770 vai darīt kaut ko dīvainu, piemēram, ka. 165 00:09:11,770 --> 00:09:16,120 Bet tas ir noderīgs prasme ir lai jūs varētu izteikt un saprast 166 00:09:16,120 --> 00:09:23,290 atmiņas adreses, un citi izmantošanas veidi dati C. 167 00:09:23,290 --> 00:09:26,240 >> Es esmu Doug Lloyd, tas ir CS50. 168 00:09:26,240 --> 00:09:28,028