1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate Hardison: En el vídeo en binari, es mostra com 2 00:00:09,290 --> 00:00:12,540 representar el conjunt de nombres enters, de zero cap amunt, 3 00:00:12,540 --> 00:00:15,110 usant només els dígits zero i un. 4 00:00:15,110 --> 00:00:17,890 En aquest vídeo, utilitzarem la notació binària per 5 00:00:17,890 --> 00:00:21,160 representar text, cartes i altres, així com. 6 00:00:21,160 --> 00:00:22,810 >> Per què ens prenem la molèstia de fer això? 7 00:00:22,810 --> 00:00:25,450 Doncs bé, sota el capó, un equip únic realment 8 00:00:25,450 --> 00:00:29,070 entén zeros i uns, els dígits binaris, ja que aquests 9 00:00:29,070 --> 00:00:32,100 es pot representar fàcilment amb coses electromagnètiques. 10 00:00:32,100 --> 00:00:35,040 >> Per exemple, pensi en la memòria de l'ordinador com un llarg 11 00:00:35,040 --> 00:00:37,810 cadena de bombetes, pel qual cada individu bombeta 12 00:00:37,810 --> 00:00:40,680 representa un zero si està apagat, i l'altre un 13 00:00:40,680 --> 00:00:42,230 si està activada. 14 00:00:42,230 --> 00:00:44,730 En lloc d'utilitzar un grup de bombetes, algunes modernes 15 00:00:44,730 --> 00:00:46,990 memòria fa això usant condensadors que tenen un baix 16 00:00:46,990 --> 00:00:49,120 carregar per representar un zero i una càrrega d'alt 17 00:00:49,120 --> 00:00:50,780 per representar un u. 18 00:00:50,780 --> 00:00:52,510 >> Existeixen altres tècniques també. 19 00:00:52,510 --> 00:00:55,500 De tota manera, amb la finalitat d'emmagatzemar res en la memòria, cal 20 00:00:55,500 --> 00:00:57,590 1 convertir-lo en una cosa que pot ser realment 21 00:00:57,590 --> 00:01:00,140 representat en el maquinari físic. 22 00:01:00,140 --> 00:01:02,450 Així que anem a pensar en com podríem representar lletres amb 23 00:01:02,450 --> 00:01:04,230 binari notació. 24 00:01:04,230 --> 00:01:08,141 En Anglès, tenim 26 lletres al alfabètic, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, i així successivament, a través de Z. Es pot assignar a cada un dels 26 00:01:12,930 --> 00:01:16,650 aquests un nombre, per exemple zero a través de 25, i tot seguit, utilitzant 27 00:01:16,650 --> 00:01:18,880 notació binària, es pot representar com un nombre cada 28 00:01:18,880 --> 00:01:20,890 seqüència de zeros i uns. 29 00:01:20,890 --> 00:01:22,420 Això no és tan dolent. 30 00:01:22,420 --> 00:01:25,050 No obstant això, això no serà suficient. 31 00:01:25,050 --> 00:01:27,680 Amb aquest sistema, en realitat no pot distingir entre els 32 00:01:27,680 --> 00:01:29,830 les lletres majúscules i minúscules. 33 00:01:29,830 --> 00:01:32,140 Si volem que el nostre equip sigui capaç de diferenciar entre 34 00:01:32,140 --> 00:01:36,020 els dos casos, llavors necessitem un addicional de 26 números. 35 00:01:36,020 --> 00:01:38,700 I què passa amb punts, comes i 36 00:01:38,700 --> 00:01:40,390 altres signes de puntuació? 37 00:01:40,390 --> 00:01:43,560 >> En el meu teclat, tinc 32 d'ells, incloent tots els 38 00:01:43,560 --> 00:01:46,800 caràcters especials com el símbol d'intercalació i el símbol d'unió. 39 00:01:46,800 --> 00:01:49,700 Això és sense incloure els caràcters de dígits, del zero al nou, 40 00:01:49,700 --> 00:01:51,840 ja que encara vull ser capaç d'escriure nombres en decimal 41 00:01:51,840 --> 00:01:54,840 anotació a l'ordinador, fins i tot si l'equip realment només 42 00:01:54,840 --> 00:01:57,830 entén la notació binària sota el capó. 43 00:01:57,830 --> 00:02:00,620 >> I, finalment, anem a necessitar per representar un caràcter d'espai per 44 00:02:00,620 --> 00:02:02,450 que la nostra barra d'espai funciona. 45 00:02:02,450 --> 00:02:04,920 Així que trobar la manera de representar el text a l'ordinador 46 00:02:04,920 --> 00:02:08,400 pren una mica més del que podria haver pensat inicialment. 47 00:02:08,400 --> 00:02:11,710 A més, assumim que després arribar a la nostra pròpia codificació 48 00:02:11,710 --> 00:02:14,560 esquema per representar caràcters com nombres. 49 00:02:14,560 --> 00:02:17,470 No obstant això vam decidir per codificar els caràcters serà inevitablement 50 00:02:17,470 --> 00:02:20,630 arbitrari, com hem vist abans, quan parlem sobre l'ús de la 51 00:02:20,630 --> 00:02:23,730 números zero a 25 per representar les lletres A 52 00:02:23,730 --> 00:02:26,850 a la Z. Per què no fem servir el 10 a 35 per que podem estalviar 53 00:02:26,850 --> 00:02:29,350 zero al nou dígits per als personatges? 54 00:02:29,350 --> 00:02:31,590 >> No hi ha cap raó real, que acaba de triar el que semblava 55 00:02:31,590 --> 00:02:33,770 el millor per a nosaltres. 56 00:02:33,770 --> 00:02:37,650 Ja en la dècada de 1960, això era un problema real. 57 00:02:37,650 --> 00:02:39,370 Els diferents fabricants d'ordinadors utilitzaven 58 00:02:39,370 --> 00:02:41,910 diferents esquemes de codificació, i aquesta comunicació es 59 00:02:41,910 --> 00:02:44,340 entre diferents màquines d'una tasca molt difícil. 60 00:02:44,340 --> 00:02:47,810 El American National Standards Institute, ANSI, 61 00:02:47,810 --> 00:02:50,210 va formar un comitè per desenvolupar un esquema comú. 62 00:02:50,210 --> 00:02:53,780 I el 1963, el Codi Estàndard Americà per a la Informació 63 00:02:53,780 --> 00:02:58,600 Intercanvi, més comunament conegut com ASCII, va néixer. 64 00:02:58,600 --> 00:03:01,360 >> ASCII va ser dissenyat com una codificació de set bits, la qual 65 00:03:01,360 --> 00:03:03,800 significa que cada caràcter està representat per una combinació 66 00:03:03,800 --> 00:03:06,070 de set zeros i uns. 67 00:03:06,070 --> 00:03:09,670 Amb aquests dos valors possibles, zero o un, per a cada un 68 00:03:09,670 --> 00:03:14,040 dels set bits, hi ha dos a la setena o 128 69 00:03:14,040 --> 00:03:16,120 caràcters que es poden representar amb l'ASCII 70 00:03:16,120 --> 00:03:18,140 esquema de codificació. 71 00:03:18,140 --> 00:03:21,480 Així que 128 caràcters sona a molt, oi? 72 00:03:21,480 --> 00:03:24,180 Bé, recorda que hi ha 26 lletres minúscules en 73 00:03:24,180 --> 00:03:29,260 Anglès, altres 26 lletres majúscules, 10 caràcters dígits, 74 00:03:29,260 --> 00:03:31,470 32 puntuació i caràcters especials, 75 00:03:31,470 --> 00:03:33,430 i un caràcter d'espai. 76 00:03:33,430 --> 00:03:37,050 >> Això ens posa a 95, així que tenim altres 33 personatges que 77 00:03:37,050 --> 00:03:38,400 pot representar. 78 00:03:38,400 --> 00:03:39,900 >> Llavors, què ens queda? 79 00:03:39,900 --> 00:03:43,130 Doncs bé, en els dies del desenvolupament d'ASCII, teletip 80 00:03:43,130 --> 00:03:45,080 màquines, que són màquines d'escriure que s'utilitzen per 81 00:03:45,080 --> 00:03:48,040 enviar missatges a través d'una xarxa, es van generalitzar. 82 00:03:48,040 --> 00:03:50,030 I aquestes màquines tenien caràcters addicionals que s'utilitzen per 83 00:03:50,030 --> 00:03:52,890 controlen, per exemple, per saber quan per moure el 84 00:03:52,890 --> 00:03:57,620 el capçal d'impressió cap avall una línia, la línia d'alimentació o la clau nova línia, 85 00:03:57,620 --> 00:04:00,440 quan per passar a la marge esquerra, el retorn de carro, 86 00:04:00,440 --> 00:04:04,890 o simplement tornar clau, i quan per retrocedir un espai, 87 00:04:04,890 --> 00:04:07,760 caràcter de retrocés, i així successivament. 88 00:04:07,760 --> 00:04:10,250 >> Aquests caràcters s'anomenen caràcters de control, i 89 00:04:10,250 --> 00:04:12,680 constitueixen la resta del conjunt ASCII. 90 00:04:12,680 --> 00:04:15,230 Així que si ens fixem en una taula ASCII, veiem que el primer 91 00:04:15,230 --> 00:04:18,800 32 números, del zero al 31, es reserven per al control 92 00:04:18,800 --> 00:04:20,200 personatges. 93 00:04:20,200 --> 00:04:23,420 Però acaba de dir que havia 33 caràcters de control. 94 00:04:23,420 --> 00:04:24,780 Quin és el tracte? 95 00:04:24,780 --> 00:04:29,350 Així, el nombre zero i 127, el primer i l'últim de la 96 00:04:29,350 --> 00:04:32,560 Conjunt ASCII, tenen patrons de bits especials, tots zeros i tots 97 00:04:32,560 --> 00:04:34,710 El, respectivament. 98 00:04:34,710 --> 00:04:36,860 >> Els dissenyadors d'ASCII va decidir, per tant, a 99 00:04:36,860 --> 00:04:39,610 preservar aquests números extres caràcters especials, 100 00:04:39,610 --> 00:04:43,310 a saber, el caràcter nul i el caràcter DEL. 101 00:04:43,310 --> 00:04:46,340 Null i L'estaven destinats per a l'edició de cinta de paper, que solia 102 00:04:46,340 --> 00:04:48,930 a ser una forma comuna d'emmagatzematge de dades. 103 00:04:48,930 --> 00:04:51,850 La cinta de paper era literalment una llarga tira de paper, i en 104 00:04:51,850 --> 00:04:53,760 intervals regulars a la cinta, hi havia un cop de puny 105 00:04:53,760 --> 00:04:55,430 forats per emmagatzemar dades. 106 00:04:55,430 --> 00:04:58,720 Depenent de l'amplada de la cinta, cada columna seria 107 00:04:58,720 --> 00:05:03,186 amb capacitat per a cinc, sis, set o vuit bits. 108 00:05:03,186 --> 00:05:05,930 >> Per representar un bit zero, faries res a la cinta, que et 109 00:05:05,930 --> 00:05:07,930 simplement deixar un espai en blanc. 110 00:05:07,930 --> 00:05:10,560 Per una mica un, que et perfori un forat. 111 00:05:10,560 --> 00:05:12,980 El caràcter nul acaba de sortir d'una columna en blanc, 112 00:05:12,980 --> 00:05:14,480 el que indica tots els zeros. 113 00:05:14,480 --> 00:05:17,250 I el personatge DEL seria perforar una columna plena de forats 114 00:05:17,250 --> 00:05:18,550 a través de la cinta. 115 00:05:18,550 --> 00:05:21,300 Com a resultat d'això, pot utilitzar el caràcter DEL per esborrar 116 00:05:21,300 --> 00:05:22,440 informació. 117 00:05:22,440 --> 00:05:25,060 Imagineu celebrar votació en les eleccions emplenada i després 118 00:05:25,060 --> 00:05:27,180 punxonat tots els forats sense perforar. 119 00:05:27,180 --> 00:05:29,410 >> Vostè invalidar la votació, perquè és impossible 120 00:05:29,410 --> 00:05:31,820 dir el que els vots originals eren. 121 00:05:31,820 --> 00:05:34,720 Mentre que el caràcter DEL encara s'utilitza és la moderna 122 00:05:34,720 --> 00:05:37,980 Eliminar clau, el caràcter nul va arribar a ser usat com el 123 00:05:37,980 --> 00:05:40,010 Caràcter de terminació de cadenes de C i 124 00:05:40,010 --> 00:05:41,990 alguns altres formats de dades. 125 00:05:41,990 --> 00:05:45,140 És possible que el coneixen com el caràcter barra invertida zero, 126 00:05:45,140 --> 00:05:47,720 ja que així és com ho representem per escrit. 127 00:05:47,720 --> 00:05:49,580 Així que tornem a la nostra taula ASCII. 128 00:05:49,580 --> 00:05:52,770 Després dels primers 32 caràcters de control vénen dels 95 129 00:05:52,770 --> 00:05:54,280 caràcters imprimibles. 130 00:05:54,280 --> 00:05:55,800 >> Hi ha un parell de decisions de disseny fresc per valor de 131 00:05:55,800 --> 00:05:57,330 parlant aquí. 132 00:05:57,330 --> 00:06:00,810 En primer lloc, els personatges dígit decimal, el zero al nou, 133 00:06:00,810 --> 00:06:04,050 corresponen als números 48 a 57, que sembla 134 00:06:04,050 --> 00:06:06,980 res especial fins que ens fixem en els números 48-57 135 00:06:06,980 --> 00:06:09,080 escrit en notació binària. 136 00:06:09,080 --> 00:06:11,530 Si fem això, llavors veiem que el caràcter de dígit, 137 00:06:11,530 --> 00:06:22,320 zero, correspon a 0110000, un mapes a 0110001, de dos a 138 00:06:22,320 --> 00:06:26,640 0110010, i així successivament. 139 00:06:26,640 --> 00:06:27,950 Veure el patró? 140 00:06:27,950 --> 00:06:30,170 Cada caràcter de dígit s'assigna al seu corresponent 141 00:06:30,170 --> 00:06:35,170 equivalent en notació binària, amb el prefix 011. 142 00:06:35,170 --> 00:06:38,820 El següent, t'adones que les lletres majúscules començar als 65, 143 00:06:38,820 --> 00:06:41,310 amb majúscula, però les lletres minúscules 144 00:06:41,310 --> 00:06:43,010 no comenci fins a 97. 145 00:06:43,010 --> 00:06:45,580 Així que hi ha 32 espais en el medi. 146 00:06:45,580 --> 00:06:47,000 Això em sembla estrany. 147 00:06:47,000 --> 00:06:49,500 Són només 26 lletres en l'alfabet. 148 00:06:49,500 --> 00:06:51,410 >> Per què dividir així? 149 00:06:51,410 --> 00:06:53,960 De nou, si ens fixem en les representacions binàries, podem 150 00:06:53,960 --> 00:06:55,230 veure un patró. 151 00:06:55,230 --> 00:07:01,360 Majúscules A està representat per 1000001, i en minúscules és una 152 00:07:01,360 --> 00:07:05,810 representat per 1100001. 153 00:07:05,810 --> 00:07:12,770 Majúscula B està representat per 1000010, i b és minúscula 154 00:07:12,770 --> 00:07:17,280 representat per 1100010. 155 00:07:17,280 --> 00:07:19,440 Es pot dir el que està passant aquí? 156 00:07:19,440 --> 00:07:22,470 El bit és la segona de l'esquerra, en tots dos 157 00:07:22,470 --> 00:07:26,510 cinquenes parts, de la posició de 32ths, és 0 per a totes les majúscules 158 00:07:26,510 --> 00:07:30,120 cartes, i 1 per a totes les lletres minúscules. 159 00:07:30,120 --> 00:07:33,130 >> Això significa que la conversió de majúscules a minúscules, i 160 00:07:33,130 --> 00:07:36,000 viceversa, és una qüestió d'un flip bit simple. 161 00:07:36,000 --> 00:07:38,380 Això ens porta al final de la taula ASCII. 162 00:07:38,380 --> 00:07:40,700 Pots pensar en qualsevol cosa que haguem oblidat? 163 00:07:40,700 --> 00:07:42,510 Bé, què passa amb la enye espanyoles, o el 164 00:07:42,510 --> 00:07:44,630 Alfabets grec o ciríl · lic? 165 00:07:44,630 --> 00:07:46,610 I què tal xinès personatges? 166 00:07:46,610 --> 00:07:49,050 Hi ha molt que s'ha quedat fora d'ASCII. 167 00:07:49,050 --> 00:07:51,920 No obstant això, un altre estàndard Unicode ha estat anomenat 168 00:07:51,920 --> 00:07:53,040 desenvolupat per cobrir tots aquests 169 00:07:53,040 --> 00:07:54,840 personatges i molts més. 170 00:07:54,840 --> 00:07:57,040 >> Però això és un tema per a un altre moment. 171 00:07:57,040 --> 00:07:58,500 El meu nom és Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Això és CS50.