1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: En la video sur duuma, ni montras kiel 2 00:00:09,290 --> 00:00:12,540 reprezenti la aro de entjeroj, de nulo sur supren, 3 00:00:12,540 --> 00:00:15,110 uzante nur la ciferoj nulo kaj unu. 4 00:00:15,110 --> 00:00:17,890 En ĉi tiu video, ni tuj uzi duuma notacio al 5 00:00:17,890 --> 00:00:21,160 reprezenti tekston, leteroj kaj tia, kiel bone. 6 00:00:21,160 --> 00:00:22,810 >> Kial ni tedas fari ĉi tion? 7 00:00:22,810 --> 00:00:25,450 Nu, sub la kapuĉo, komputilo nur vere 8 00:00:25,450 --> 00:00:29,070 komprenas nuloj kaj, la duuma ciferoj, ĉar tiuj 9 00:00:29,070 --> 00:00:32,100 povas esti prezentita facile kun elektromagneta aĵoj. 10 00:00:32,100 --> 00:00:35,040 >> Ekzemple, pensi pri via komputilo la memoro kiel longa 11 00:00:35,040 --> 00:00:37,810 kordoj de ampoloj, per kiu ĉiu individuo bulbo 12 00:00:37,810 --> 00:00:40,680 reprezentas nula se ĝi estas malŝaltita, kaj unu 13 00:00:40,680 --> 00:00:42,230 se ĝi estas enŝaltita. 14 00:00:42,230 --> 00:00:44,730 Anstataŭ uzi aron da ampoloj, iuj modernaj 15 00:00:44,730 --> 00:00:46,990 memoro ne ĉi uzante condensadores ke teni malaltan 16 00:00:46,990 --> 00:00:49,120 ŝarĝi por reprezenti nulo kaj alta ŝarĝo 17 00:00:49,120 --> 00:00:50,780 por reprezenti unu. 18 00:00:50,780 --> 00:00:52,510 >> Estas aliaj teknikaj tiel. 19 00:00:52,510 --> 00:00:55,500 Ĉiuokaze, por stoki nenion en memoro, ni bezonas 20 00:00:55,500 --> 00:00:57,590 unua konverti ĝin en iu kiu povas esti reale 21 00:00:57,590 --> 00:01:00,140 reprezentita en la fizika aparataro. 22 00:01:00,140 --> 00:01:02,450 Do ni opinias pri kiel ni povus reprezenti literojn per 23 00:01:02,450 --> 00:01:04,230 duuma notacio. 24 00:01:04,230 --> 00:01:08,141 En la angla, ni havas 26 literojn en la alfabeta, Al, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, kaj tiel plu, tra Z. Ni povas atribui ĉiu el 26 00:01:12,930 --> 00:01:16,650 tiuj kelkaj, diru nulo tra 25, kaj poste uzi 27 00:01:16,650 --> 00:01:18,880 duuma notacio, ni povas reprezenti ĉiun numeron kiel 28 00:01:18,880 --> 00:01:20,890 vico de nuloj kaj aĵoj. 29 00:01:20,890 --> 00:01:22,420 Tio ne tro malbona. 30 00:01:22,420 --> 00:01:25,050 Tamen, tio ne estas tuj estos sufiĉa. 31 00:01:25,050 --> 00:01:27,680 Kun ĉi tiu sistemo, ni ne povas vere distingas inter 32 00:01:27,680 --> 00:01:29,830 supra kaj minuskla literoj. 33 00:01:29,830 --> 00:01:32,140 Se ni volas nian komputilon por povi diferenci inter 34 00:01:32,140 --> 00:01:36,020 la du kazoj, do ni bezonas plian 26 numerojn. 35 00:01:36,020 --> 00:01:38,700 Kaj kio pri periodoj, komoj, kaj 36 00:01:38,700 --> 00:01:40,390 aliaj interpunkcio markoj? 37 00:01:40,390 --> 00:01:43,560 >> Sur mia klavaro, mi havas 32 el tiuj, inkluzive de ĉiuj el la 38 00:01:43,560 --> 00:01:46,800 supersignoj kiel la caret kaj la signo. 39 00:01:46,800 --> 00:01:49,700 Tio ne inkludante la cifero karakteroj, nulo tra naŭ, 40 00:01:49,700 --> 00:01:51,840 ĉar ni ankoraŭ volas povi tajpi nombroj en dekuma 41 00:01:51,840 --> 00:01:54,840 skribmaniero en la komputilo, eĉ se la komputilo nur vere 42 00:01:54,840 --> 00:01:57,830 komprenas duuma notacio sub la kapuĉo. 43 00:01:57,830 --> 00:02:00,620 >> Kaj fine, ni bezonos por reprezenti spaceto tiel 44 00:02:00,620 --> 00:02:02,450 ke nia Spaco Trinkejo funkcias. 45 00:02:02,450 --> 00:02:04,920 Do elŝeligi kiel reprezenti tekston en la komputilo 46 00:02:04,920 --> 00:02:08,400 prenas iom pli ol ni povintus kredi komence. 47 00:02:08,400 --> 00:02:11,710 Aldone, supozas ni tiam venu kun niaj propraj kodigo 48 00:02:11,710 --> 00:02:14,560 skemo por reprezenti signojn kiel numeroj. 49 00:02:14,560 --> 00:02:17,470 Tamen ni decidos kodi gravuloj neeviteble estos 50 00:02:17,470 --> 00:02:20,630 ajna, kiel ni vidis antaŭe, kiam ni parolis pri uzi la 51 00:02:20,630 --> 00:02:23,730 nombroj nulo tra 25 por reprezenti la literoj A 52 00:02:23,730 --> 00:02:26,850 tra Z. Kial ne uzi 10 tra 35 por ke ni povu konservi 53 00:02:26,850 --> 00:02:29,350 nulo tra naŭ por la cifero karakteroj? 54 00:02:29,350 --> 00:02:31,590 >> Ne vera kialo, ni ĵus elektis ajn ŝajnis 55 00:02:31,590 --> 00:02:33,770 bona por ni. 56 00:02:33,770 --> 00:02:37,650 Reen en la fruaj 1960-aj jaroj, ĉi tiu estis vera problemo. 57 00:02:37,650 --> 00:02:39,370 Malsamaj fabrikantoj de komputiloj uzis 58 00:02:39,370 --> 00:02:41,910 malsamaj kodigo skemoj, kaj ĉi tio faris komunikado 59 00:02:41,910 --> 00:02:44,340 inter malsamaj maŝinoj tre malfacila tasko. 60 00:02:44,340 --> 00:02:47,810 La Usona Nacia Normoj Instituto, ANSI, 61 00:02:47,810 --> 00:02:50,210 formis komitaton por disvolvi komunan skemon. 62 00:02:50,210 --> 00:02:53,780 Kaj en 1963, la American Standard Code for Information 63 00:02:53,780 --> 00:02:58,600 Interŝanĝo, pli komune konata kiel ASCII, naskiĝis. 64 00:02:58,600 --> 00:03:01,360 >> ASCII estis desegnita kiel sep-bita kodoprezento, kiu 65 00:03:01,360 --> 00:03:03,800 signifas ke ĉiu signo estas reprezentita de kombinaĵo 66 00:03:03,800 --> 00:03:06,070 de sep nuloj kaj aĵoj. 67 00:03:06,070 --> 00:03:09,670 Kun tiuj du eblaj valoroj, nulo aŭ unu, por ĉiu 68 00:03:09,670 --> 00:03:14,040 el la sep bitoj, estas du al la sepa aŭ 128 69 00:03:14,040 --> 00:03:16,120 karakteroj kiuj povas esti prezentita per la ASCII 70 00:03:16,120 --> 00:03:18,140 kodi skemon. 71 00:03:18,140 --> 00:03:21,480 Do 128 signoj sonas multe, ĉu ne? 72 00:03:21,480 --> 00:03:24,180 Nu, memoru, ke estas 26 minuskla literoj en 73 00:03:24,180 --> 00:03:29,260 Angla, alia 26 majusklajn literojn, 10 cifero karakteroj, 74 00:03:29,260 --> 00:03:31,470 32 interpunkcio kaj specialaj karakteroj, 75 00:03:31,470 --> 00:03:33,430 kaj unu spaceto. 76 00:03:33,430 --> 00:03:37,050 >> Kiu metas nin en 95, sekve ni havas alian 33 signoj, ke ni 77 00:03:37,050 --> 00:03:38,400 povas reprezenti. 78 00:03:38,400 --> 00:03:39,900 >> Do kio restas? 79 00:03:39,900 --> 00:03:43,130 Nu, en la tagoj de la disvolviĝo de ASCII, teletipo 80 00:03:43,130 --> 00:03:45,080 maŝinoj, kiuj estas tajpiloj kiun ili uzas por 81 00:03:45,080 --> 00:03:48,040 sendi mesaĝojn tra reto, estis disvastigita. 82 00:03:48,040 --> 00:03:50,030 Kaj ĉi tiuj maŝinoj havis plian signoj uzata por 83 00:03:50,030 --> 00:03:52,890 kontroli ilin, ekzemple, diri al ili, kiam movi la 84 00:03:52,890 --> 00:03:57,620 presi kapo malsupren linion, la linio feed aŭ nova linio ŝlosilo, 85 00:03:57,620 --> 00:04:00,440 kiam movi al la maldekstra rando, la tirilo, 86 00:04:00,440 --> 00:04:04,890 aŭ simple revenas ŝlosilon, kaj kiam reiri unu spaco, la 87 00:04:04,890 --> 00:04:07,760 klavo backspace karaktero, kaj tiel plu. 88 00:04:07,760 --> 00:04:10,250 >> Tiuj signoj estas nomitaj stirsignoj, kaj ili 89 00:04:10,250 --> 00:04:12,680 konsistigas la resto de la ASCII aro. 90 00:04:12,680 --> 00:04:15,230 Do, se ni rigardas al ASCII tablo, ni vidas ke la unua 91 00:04:15,230 --> 00:04:18,800 32 numerojn, nulo tra 31, estas rezervitaj por kontrolo 92 00:04:18,800 --> 00:04:20,200 karakteroj. 93 00:04:20,200 --> 00:04:23,420 Sed ni ĵus diris, ke estas 33 stirsignoj. 94 00:04:23,420 --> 00:04:24,780 Kio estas la interkonsento? 95 00:04:24,780 --> 00:04:29,350 Nu, la nombro nulo kaj 127, la unua kaj lasta el la 96 00:04:29,350 --> 00:04:32,560 ASCII aro, ili havas specialan bitĉenoj, ĉiuj nuloj kaj ĉiuj 97 00:04:32,560 --> 00:04:34,710 bonaj, respektive. 98 00:04:34,710 --> 00:04:36,860 >> La projektistoj de ASCII decidis, do, al 99 00:04:36,860 --> 00:04:39,610 konservi tiujn numerojn por ekstra specialaj karakteroj, 100 00:04:39,610 --> 00:04:43,310 nome la nula karaktero kaj la DE karaktero. 101 00:04:43,310 --> 00:04:46,340 Nulaj kaj DE estis destinita por papero bendo eldono, kiu uzas 102 00:04:46,340 --> 00:04:48,930 por esti komuna vojo de provizon datumoj. 103 00:04:48,930 --> 00:04:51,850 Papero bendo estis laŭvorte nur longan strion da papero, kaj 104 00:04:51,850 --> 00:04:53,760 regulaj intervaloj sur la bendo, vi volas bati 105 00:04:53,760 --> 00:04:55,430 truoj por stoki datumoj. 106 00:04:55,430 --> 00:04:58,720 Depende de la larĝeco de la bendo, ĉiu kolumno estus 107 00:04:58,720 --> 00:05:03,186 kiu povas akcepti kvin, ses, sep, aŭ ok bitoj. 108 00:05:03,186 --> 00:05:05,930 >> Por reprezenti nulo bito, vi volas fari nenion por la bendo, vi volas 109 00:05:05,930 --> 00:05:07,930 just leave malplenan spacon. 110 00:05:07,930 --> 00:05:10,560 Por unu bito, vi volas bati truo. 111 00:05:10,560 --> 00:05:12,980 La nula karaktero estus nur lasi malplenan kolumno, 112 00:05:12,980 --> 00:05:14,480 indikante ĉiuj nuloj. 113 00:05:14,480 --> 00:05:17,250 Kaj la DE karaktero estus bati kolumnon plena de truoj 114 00:05:17,250 --> 00:05:18,550 per via bendo. 115 00:05:18,550 --> 00:05:21,300 Kiel rezulto, vi povus uzi la DE karaktero forigi 116 00:05:21,300 --> 00:05:22,440 informoj. 117 00:05:22,440 --> 00:05:25,060 Imagu prenante plenplena-out elekto balotado kaj poste 118 00:05:25,060 --> 00:05:27,180 bati tutan unpunched truoj. 119 00:05:27,180 --> 00:05:29,410 >> Vi nuligas la voĉdonon ĉar estas neeble 120 00:05:29,410 --> 00:05:31,820 diru kion la originala voĉdonoj estis. 121 00:05:31,820 --> 00:05:34,720 Dum la DE karaktero ankoraŭ uzas estas la moderna 122 00:05:34,720 --> 00:05:37,980 Forigu ŝlosilo, la nula karaktero venis esti uzita kiel la 123 00:05:37,980 --> 00:05:40,010 finaĵo karaktero por C kordoj kaj 124 00:05:40,010 --> 00:05:41,990 iuj aliaj datumoj formatoj. 125 00:05:41,990 --> 00:05:45,140 Vi eble scias kiel la backslash nulo karaktero, 126 00:05:45,140 --> 00:05:47,720 ĉar tio estas kiel ni reprezentas ĝin skribe. 127 00:05:47,720 --> 00:05:49,580 Do apogi nian ASCII tablo. 128 00:05:49,580 --> 00:05:52,770 Post la unuaj 32 stirsignoj venos la 95 129 00:05:52,770 --> 00:05:54,280 printable gravuloj. 130 00:05:54,280 --> 00:05:55,800 >> Estas kelkaj cool dezajno decidoj valoras 131 00:05:55,800 --> 00:05:57,330 parolas pri ĉi tie. 132 00:05:57,330 --> 00:06:00,810 Unue, la dekuma cifero karakteroj, nulo tra naŭ, 133 00:06:00,810 --> 00:06:04,050 respondas al la numeroj 48 tra 57, kiu ŝajne 134 00:06:04,050 --> 00:06:06,980 unremarkable ĝis ni rigardu la numeroj 48 tra 57 135 00:06:06,980 --> 00:06:09,080 skribita en duuma notacio. 136 00:06:09,080 --> 00:06:11,530 Se ni faros tion, tiam ni vidos, ke la cifero karaktero, 137 00:06:11,530 --> 00:06:22,320 nulo, korespondas al 0110000, unu mapoj por 0110001, du al 138 00:06:22,320 --> 00:06:26,640 0110010, kaj tiel plu. 139 00:06:26,640 --> 00:06:27,950 Vidu la desegnon? 140 00:06:27,950 --> 00:06:30,170 Ĉiu cifero karaktero estas mapita al lia responda 141 00:06:30,170 --> 00:06:35,170 ekvivalento en duuma notacio, prefiksita per 011. 142 00:06:35,170 --> 00:06:38,820 Sekva supren, vi rimarkos ke la cxefliterojn starti je 65, 143 00:06:38,820 --> 00:06:41,310 kun majuskla A, sed la minuskla literoj 144 00:06:41,310 --> 00:06:43,010 Ne komencu ĝis 97. 145 00:06:43,010 --> 00:06:45,580 Do estas 32 spacoj inter ili. 146 00:06:45,580 --> 00:06:47,000 Tio ŝajnas stranga. 147 00:06:47,000 --> 00:06:49,500 Estas nur 26 literoj en la alfabeto. 148 00:06:49,500 --> 00:06:51,410 >> Kial dividi ilin tiel? 149 00:06:51,410 --> 00:06:53,960 Denove, se ni rigardas la duuma reprezentoj, ni povas 150 00:06:53,960 --> 00:06:55,230 vidi mastro. 151 00:06:55,230 --> 00:07:01,360 Majusklaj A estas reprezentita de 1000001, kaj minuskla a estas 152 00:07:01,360 --> 00:07:05,810 reprezentita de 1100001. 153 00:07:05,810 --> 00:07:12,770 Majusklaj B estas reprezentita de 1000010, kaj minuskla b estas 154 00:07:12,770 --> 00:07:17,280 reprezentita de 1100010. 155 00:07:17,280 --> 00:07:19,440 Ĉu vi povas diri kio okazas tie? 156 00:07:19,440 --> 00:07:22,470 La iom tio estas la dua de maldekstre, en la du al la 157 00:07:22,470 --> 00:07:26,510 kvintoj, por 32ths pozicio, estas 0 por ĉiuj el la majuskla 158 00:07:26,510 --> 00:07:30,120 literoj, kaj 1 por ĉiuj el la minuskla literoj. 159 00:07:30,120 --> 00:07:33,130 >> Tio signifas konvertanta de majuskla al minuskla, kaj 160 00:07:33,130 --> 00:07:36,000 inverse, estas afero de simpla iom klaki. 161 00:07:36,000 --> 00:07:38,380 Do kiu alportas nin al la fino de la ASCII tablo. 162 00:07:38,380 --> 00:07:40,700 Ĉu vi povas pensi pri io ni forgesis? 163 00:07:40,700 --> 00:07:42,510 Nu, kio pri la hispana enye, aŭ la 164 00:07:42,510 --> 00:07:44,630 Greka aŭ cirila alfabetoj? 165 00:07:44,630 --> 00:07:46,610 Kaj kion pri ĉinaj karakteroj? 166 00:07:46,610 --> 00:07:49,050 Estas multe ke tio estis lasita ekster ASCII. 167 00:07:49,050 --> 00:07:51,920 Tamen, alia normo nomata Unikodo estis 168 00:07:51,920 --> 00:07:53,040 evoluinta por kovri ĉiujn tiujn 169 00:07:53,040 --> 00:07:54,840 karakteroj kaj multaj pli. 170 00:07:54,840 --> 00:07:57,040 >> Sed tio estas temo por alia tempo. 171 00:07:57,040 --> 00:07:58,500 Mia nomo estas Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Ĉi tiu estas CS50.