1 00:00:00,000 --> 00:00:05,511 2 00:00:05,511 --> 00:00:08,510 DOUG LLYOYD: Do deksesumaj nombroj, kvazaŭ ni bezonis alian bazon nombro 3 00:00:08,510 --> 00:00:09,970 skemo pravas? 4 00:00:09,970 --> 00:00:13,000 Nu, plej multaj okcidentaj kulturoj, vi versxajne konas, 5 00:00:13,000 --> 00:00:16,560 uzi la dekuma system-- bazo 10, reprezenti nombraj datumoj. 6 00:00:16,560 --> 00:00:20,520 Ni havas la ciferoj 0, 1, 2, 3, 5, 6, 7,8,9. 7 00:00:20,520 --> 00:00:23,890 Kaj se ni devas reprezenti valoroj pli altaj ol naŭ, 8 00:00:23,890 --> 00:00:26,800 ni povas kombini tiujn ciferojn uzante la nocion de loko valoro. 9 00:00:26,800 --> 00:00:30,115 Do por 10, ni havas 1 cifero sekvata de 0 ciferaj 10 00:00:30,115 --> 00:00:32,240 kaj ni intuicie kompreni ke kion ni faras 11 00:00:32,240 --> 00:00:35,500 tie estas ni multiplikante la unua 1 per 10, 12 00:00:35,500 --> 00:00:37,689 kaj tiam aldonante 0 por totalo de 10. 13 00:00:37,689 --> 00:00:40,480 Komputiloj fari ion bela simila, kiel vi probable familiara, 14 00:00:40,480 --> 00:00:42,409 kun la duuma system-- bazo 2. 15 00:00:42,409 --> 00:00:44,700 La diferenco estanta ke ekzistas nur 2 ciferoj 16 00:00:44,700 --> 00:00:46,770 labori with-- 0 kaj 1. 17 00:00:46,770 --> 00:00:49,033 Kaj do nia loko valoroj, anstataŭ esti unu, 18 00:00:49,033 --> 00:00:52,600 dek, cent, mil, kiel ili estus en la dekuma sistemo, 19 00:00:52,600 --> 00:00:57,690 estas unu, du, kvar, ok, kaj tiel plu. 20 00:00:57,690 --> 00:01:00,842 Jen la afero kvankam, tiuj 0-aj kaj 1-oj, speciale 21 00:01:00,842 --> 00:01:03,800 se ni esti komputikistoj kaj ni faras multajn programado 22 00:01:03,800 --> 00:01:06,924 aŭ laborante kun komputiloj, estis iranta esti vidante multajn duumaj nombroj. 23 00:01:06,924 --> 00:01:11,660 Kaj tiuj 0-aj kaj 1-oj en grandaj ĉenoj povas esti tre malfacile analizi. 24 00:01:11,660 --> 00:01:16,610 Ni ne povas nur rigardi ĉenon de 0-aj kaj 1-oj kaj nepre scii 25 00:01:16,610 --> 00:01:17,810 ĝuste kio ĝi estas. 26 00:01:17,810 --> 00:01:21,980 Sed estas ankoraŭ utile povi esprimas datumoj en la sama maniero 27 00:01:21,980 --> 00:01:23,480 ke komputilo faras. 28 00:01:23,480 --> 00:01:26,580 Ni havas ĉi nocio de la deksesuma sistemo, kiu estas 29 00:01:26,580 --> 00:01:29,840 bazo 16, anstataŭ bazo 10 aŭ bazo 2. 30 00:01:29,840 --> 00:01:34,420 Kio signifas, ke ni havas 16 ciferoj labori kun anstataŭ 10 aŭ 2. 31 00:01:34,420 --> 00:01:37,180 Kaj ĝi estas multe pli konciza maniero esprimi 32 00:01:37,180 --> 00:01:41,210 duuma informojn en komputilo sistemo, ĝi estas multe pli homa komprenebla. 33 00:01:41,210 --> 00:01:43,520 Do ni havas la ciferoj 0 tra 9 kaj poste 34 00:01:43,520 --> 00:01:49,480 ni ankaŭ havas tiujn ekstrajn ses digits-- a, b, c, d, e, kaj f, kiuj reprezentas 10, 35 00:01:49,480 --> 00:01:56,050 nia nocio de 10, 11, 12, 13, 14 kaj 15, en dekuma. 36 00:01:56,050 --> 00:01:59,787 Foje, parenteze, vi ankaŭ vidi tiujn objektojn tra f kiel ĉefurbo A 37 00:01:59,787 --> 00:02:01,620 tra F, kiu estas la vojo mi emas fari ĝin. 38 00:02:01,620 --> 00:02:04,560 Ĝi estas nur mia preferita stilo, sed ĉu estas fajna, 39 00:02:04,560 --> 00:02:07,870 ili ambaŭ reprezentas belan multe la sama afero. 40 00:02:07,870 --> 00:02:09,090 >> Do kial estas deksesuma malvarmeta? 41 00:02:09,090 --> 00:02:11,580 Kial ni bezonas uzi tiun alian plian bazo? 42 00:02:11,580 --> 00:02:14,310 Ni jam havas 2 kaj 10 kial ni bezonas 16? 43 00:02:14,310 --> 00:02:21,650 Nu 16 estas povo de 2, kaj tiel ĉiu deksesuma cifero, 0 tra F, 44 00:02:21,650 --> 00:02:25,440 respondas al unika ordigante, aŭ unika aranĝo 45 00:02:25,440 --> 00:02:29,060 de 4 duuma ciferoj, 4 bitoj. 46 00:02:29,060 --> 00:02:34,570 Kaj tiel en tiu senco, ni povas esprimi tre longa, kompleksa, duumaj nombroj 47 00:02:34,570 --> 00:02:36,440 en deksesuma en multe pli konciza maniero, 48 00:02:36,440 --> 00:02:41,080 sen perdi informojn aŭ devi fari aparte maloportuna konvertiĝoj 49 00:02:41,080 --> 00:02:42,480 sur tiuj nombroj. 50 00:02:42,480 --> 00:02:44,880 >> Do, kiel mi ĵus diris, ĉiu deksesuma cifero 51 00:02:44,880 --> 00:02:48,630 respondas al unika aranĝo de 4 duuma ciferoj. 52 00:02:48,630 --> 00:02:53,670 Do la duuma kordo 0000 respondas al deksesuma cifero 0. 53 00:02:53,670 --> 00:03:00,340 0110 korespondas al deksesuma cifero 6. 54 00:03:00,340 --> 00:03:05,225 Kaj 1111 respondas al deksesuma cifero f. 55 00:03:05,225 --> 00:03:07,100 Se vi rigardas tiu diagramo, aparte 56 00:03:07,100 --> 00:03:09,099 se vi rigardas la maldekstra flanko de la diagramo, 57 00:03:09,099 --> 00:03:11,970 vi povas jam vidi, ke estas iom de ambigüedad problemo tie. 58 00:03:11,970 --> 00:03:15,229 Dekuma 0 estas preskaux nedistingeblaj de deksesumaj 0, 59 00:03:15,229 --> 00:03:18,020 aliaj ol la fakto ke ĝi estas sub kolumnon kiu diras deksesuma. 60 00:03:18,020 --> 00:03:22,130 >> Sed ni probable ne ĉiam havas tiun kolumnon tie. 61 00:03:22,130 --> 00:03:25,420 Ĝenerale kiam ni esprimas nombroj en deksesuma notacio 62 00:03:25,420 --> 00:03:28,130 distingi klare ilin de decimala notacio, 63 00:03:28,130 --> 00:03:31,860 ni kutime prefikson ilin kun la prefikso 0x. 64 00:03:31,860 --> 00:03:35,990 0x signifas nenion en realo, ĝi estas nur indikilo pri ni kiel homoj 65 00:03:35,990 --> 00:03:39,190 ke kio ni estas proksimume vidi, aŭ komenconta analiza, 66 00:03:39,190 --> 00:03:40,750 estas deksesuma nombro. 67 00:03:40,750 --> 00:03:45,590 Evidente por la altaj ciferoj, b, c, d, kaj f, kiuj respondas al 10-15 68 00:03:45,590 --> 00:03:48,840 estas sufiĉe unusenca tio tio estas deksesuma nombro. 69 00:03:48,840 --> 00:03:51,620 Kaj fakte, neniu deksesuma nombro kiu havas leterojn en ĝi, 70 00:03:51,620 --> 00:03:54,642 estas probable sufiĉe preterlasas kiel deksesuman nombron. 71 00:03:54,642 --> 00:03:56,350 Sed, ankoraŭ, por la pro klareco, ĝi estas 72 00:03:56,350 --> 00:03:58,290 Ĉiam estas bona ideo prefikson ĉiufoje vi 73 00:03:58,290 --> 00:04:01,835 referi al cifero kiel deksesuma numeron de prefiksi a 0x. 74 00:04:01,835 --> 00:04:04,370 75 00:04:04,370 --> 00:04:06,810 >> Do, duuma, kiel ni diris, ĝi havas lokon valoroj. 76 00:04:06,810 --> 00:04:10,040 Ekzistas tiuj loko, duope loko, a kvarpiede loko, kaj Eights loko. 77 00:04:10,040 --> 00:04:13,640 Kaj dekuma ankaŭ havas lokon valoroj, la tiuj, dekoj, centoj kaj miloj 78 00:04:13,640 --> 00:04:15,910 ke ni ĉiuj eble memoras de grado lernejo. 79 00:04:15,910 --> 00:04:18,050 Kaj deksesuma neniu escepto tie, vere. 80 00:04:18,050 --> 00:04:22,660 Ĝi ankaŭ havas lokon valoroj sed anstataŭe esti potencoj de 2 aŭ potencoj de 10, 81 00:04:22,660 --> 00:04:25,050 ili estas potencoj de 16. 82 00:04:25,050 --> 00:04:29,410 >> Do ni vidu kelkajn ŝatas tion ni bela klare scias ke estas 397, ĉu ne? 83 00:04:29,410 --> 00:04:33,420 Nu, se ni vidas kelkajn kiel tiu, ni scias ĉi ne estas 397 anymore. 84 00:04:33,420 --> 00:04:36,730 Tio estas la deksesuma numero tri-naŭ-sep. 85 00:04:36,730 --> 00:04:39,680 Ĝi ne estas 397, tio signifas io malsama, 86 00:04:39,680 --> 00:04:44,180 ĉar ni uzas potencojn de 16 kiel ĉiuj de nia loko valoroj anstataŭ potencoj 87 00:04:44,180 --> 00:04:45,560 de 10. 88 00:04:45,560 --> 00:04:50,570 Fakte, la loko valoroj tie farus esti tiuj loko, la sixteens loko, 89 00:04:50,570 --> 00:04:55,080 kaj la du-cent-kvindek-sesoj loko, kiu respondas al nia ideo pri tiuj 90 00:04:55,080 --> 00:04:59,180 loko, dekoj loko, kaj centoj loko, se la nombro estis 397. 91 00:04:59,180 --> 00:05:03,620 Sed ĉar ĝi estas 0x 397, ni havas a lokon de unuoj, sixteens loko, 92 00:05:03,620 --> 00:05:05,780 kaj du-cent-kvindek-sesoj loko. 93 00:05:05,780 --> 00:05:09,460 Aŭ, 16 al la 0 lokon, kiu estas 1. 94 00:05:09,460 --> 00:05:12,420 A 16 al la unua potenco loko, 16. 95 00:05:12,420 --> 00:05:17,080 A 16 kvadratoj loko, 256, kaj tiel plu, kaj tiel plu, kaj tiel plu. 96 00:05:17,080 --> 00:05:24,400 Do tiu nombro estas vere 3 foje 16 kvadrato, plus 9 fojoj 16 plus 7. 97 00:05:24,400 --> 00:05:28,980 Mi ne faris la math tie, sed ĝi ne estas 397, estas multe, multe pli grandaj ol tio. 98 00:05:28,980 --> 00:05:34,050 >> Simile, ni povus havi 0x adc, bone ke estas tempoj 16 kvadratoj. 99 00:05:34,050 --> 00:05:38,220 Aŭ se ni tradukos ke por nia nocio de decimalaj numeroj, kiuj estas 10 fojojn 100 00:05:38,220 --> 00:05:44,160 16 kvadratoj, plus d fojojn 16, aŭ pli 13 fojojn 16. 101 00:05:44,160 --> 00:05:47,410 Kaj ne zorgu se vi ne parkeris ke d estas 13, aŭ ion similan, 102 00:05:47,410 --> 00:05:49,201 tie ne tro multaj el tiuj letero ciferoj 103 00:05:49,201 --> 00:05:52,820 kaj ĝi fariĝos intuicia bela rapide. 104 00:05:52,820 --> 00:05:59,800 Do denove ĉi estas 10 fojojn 16 kvadratoj, plus 13 fojojn 16 plus 12 fojojn 1. 105 00:05:59,800 --> 00:06:03,640 Do 0x adc. 106 00:06:03,640 --> 00:06:07,750 >> Do, kiel mi diris, ĉiu grupo de 4 duuma ciferoj 107 00:06:07,750 --> 00:06:10,000 respondas al sola deksesuma cifero, 108 00:06:10,000 --> 00:06:12,570 kaj tiel ĝi estas efektive vere facile ŝanĝi reen 109 00:06:12,570 --> 00:06:14,690 inter deksesuma kaj binara. 110 00:06:14,690 --> 00:06:18,310 Se vi havas ĉi longa ĉeno de duumaj ciferoj, ĉiuj vi bezonas fari 111 00:06:18,310 --> 00:06:21,320 estas komenci kolektante ilin dekstra al maldekstra kiel grupoj de 4. 112 00:06:21,320 --> 00:06:26,550 Kaj tiam vi povas solidigi ilin en deksesuma nombroj, 113 00:06:26,550 --> 00:06:30,910 severe limigi la nombron de ciferoj vi havas procesi mense. 114 00:06:30,910 --> 00:06:33,680 Anstataŭ 32 0-aj kaj 1-oj, kiel ni vidos en dua, 115 00:06:33,680 --> 00:06:37,630 Vi povus esti kapabla akiri ĝin al nur 8 deksesumaj ciferoj, multan 116 00:06:37,630 --> 00:06:39,200 pli konciza. 117 00:06:39,200 --> 00:06:43,500 >> La lertaj kelkajn lumbildojn malantaŭeniri volo helpi vin elkompreni ĉi mapado, 118 00:06:43,500 --> 00:06:45,660 kvankam, denove vi instruos vin enmemorigi ĝin sufiĉe rapide. 119 00:06:45,660 --> 00:06:47,320 Ni iru tra ekzemplo nun. 120 00:06:47,320 --> 00:06:51,507 Do se ni havas numeron kiel tiu, tiu vere granda duuma nombro, 121 00:06:51,507 --> 00:06:53,340 aŭ kio ŝajnas esti grandan duuma nombro. 122 00:06:53,340 --> 00:06:56,260 Kaj la kialo mi diras ke, ĝi estas nur so-- ĝi estas hipopotamon, dekstra? 123 00:06:56,260 --> 00:06:58,959 Ekzistas tiom da 0-aj kaj 1-oj tie. 124 00:06:58,959 --> 00:07:01,000 Sed ni probable ne vere havas la senton de kio 125 00:07:01,000 --> 00:07:02,870 la grando de ĉi tiu numero estas vere. 126 00:07:02,870 --> 00:07:06,150 Ni ne havas neniun ideon kio ĝi respondus al dekuma. 127 00:07:06,150 --> 00:07:09,744 Kaj fakte ni eĉ ne vidas kion tio respondas al en dekuma nun. 128 00:07:09,744 --> 00:07:11,660 Ni eble povus esprimi tion en maniero kiu 129 00:07:11,660 --> 00:07:15,640 donus al ni iun pli informo pri ĵus kiom granda tiu nombro estas. 130 00:07:15,640 --> 00:07:17,270 >> Do ni iru al tiu konvertiĝo procezo. 131 00:07:17,270 --> 00:07:19,311 La unua afero ni devas fari estas ni volas grupo 132 00:07:19,311 --> 00:07:23,050 tiuj ciferoj el en grupojn de 4, komencante de dekstre 133 00:07:23,050 --> 00:07:24,120 kaj laborante maldekstren. 134 00:07:24,120 --> 00:07:27,260 Tie hazarde estas 32 ciferoj tie, kio signifas ke ni havas 135 00:07:27,260 --> 00:07:33,210 belan puran rompiĝon de 8 grupoj de 4. 136 00:07:33,210 --> 00:07:36,200 Memoru ke ĉiu grupo de 4 ĉi tie, unike respondas 137 00:07:36,200 --> 00:07:37,760 al deksesuma cifero. 138 00:07:37,760 --> 00:07:42,080 Do ni komencos denove konstrui nian numeron de dekstre, kaj laborante lasis. 139 00:07:42,080 --> 00:07:44,890 Nu kio estas 1101? 140 00:07:44,890 --> 00:07:49,220 Nu ni faros la math en nia kapo, ni havos 1 en la Eights loko, 1 141 00:07:49,220 --> 00:07:54,310 en la kvarpiede loko, 0 en la duope loko, kaj 1 en la lokon de unuoj. 142 00:07:54,310 --> 00:07:58,820 Jen 8 Plus 4 plus 1, kion ni konus kiel 13. 143 00:07:58,820 --> 00:08:02,400 Sed ni probable ne skribi 13 ekstere, ĉar ni laboras kun deksesuma. 144 00:08:02,400 --> 00:08:07,982 Ni devas konverti ĝin al la deksesuma ekvivalento de 13, kiu estas d. 145 00:08:07,982 --> 00:08:12,940 >> 0011, puto, kiu estas 0 en la Eights loko, 0 en kvarpiede loko, 146 00:08:12,940 --> 00:08:15,190 1 en la duope loko, kaj 1 en la lokon de unuoj. 147 00:08:15,190 --> 00:08:16,880 Jen 3. 148 00:08:16,880 --> 00:08:20,180 Mi signifas teni farante tion Denove, ni havas tie 9. 149 00:08:20,180 --> 00:08:23,850 Kaj poste 11, sed tio estas b, revokon. 150 00:08:23,850 --> 00:08:30,570 2, 10-- aŭ a-- 6, kaj 4. 151 00:08:30,570 --> 00:08:34,669 Kaj tiel ke tre granda kordo de 0-aj kaj 1-oj de la supro 152 00:08:34,669 --> 00:08:38,549 estas pli koncize esprimita en deksesuma kiel 0x 46a2b93d. 153 00:08:38,549 --> 00:08:42,309 154 00:08:42,309 --> 00:08:45,870 >> Nu, bone, ni lernis nova malvarmeta lerteco, kio estas la punkto? 155 00:08:45,870 --> 00:08:49,560 Ni povus ne uzi tiun tutan tempo, kiel ni tuj baldaŭ vidi, 156 00:08:49,560 --> 00:08:52,370 ni uzu deksesuma tute multe kiel programistoj. 157 00:08:52,370 --> 00:08:55,060 Ne nepre por la celo fari math kun ĝi, 158 00:08:55,060 --> 00:08:58,470 sed ĉar multajn fojojn memoro adresoj en nia sistemo 159 00:08:58,470 --> 00:09:00,440 estas reprezentitaj en deksesuma. 160 00:09:00,440 --> 00:09:04,390 Estas vere konciza maniero esprimi alie maloportuna, duumaj nombroj. 161 00:09:04,390 --> 00:09:06,440 Kaj do, denove, oni povas skribi not-- vi probable 162 00:09:06,440 --> 00:09:07,640 Ne tuj faros neniun math kun gxi, estas ne 163 00:09:07,640 --> 00:09:09,848 tuj estos multiplikante deksesumaj nombroj kune, 164 00:09:09,848 --> 00:09:11,770 aŭ faranta ion strangan tiel. 165 00:09:11,770 --> 00:09:16,120 Sed estas utila lertecon havi do vi povas esprimi kaj kompreni 166 00:09:16,120 --> 00:09:23,290 memoro adresoj kaj aliaj manierojn uzi datumojn en C. 167 00:09:23,290 --> 00:09:26,240 >> Mi Doug Lloyd, tiu estas CS50. 168 00:09:26,240 --> 00:09:28,028