1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: U video na binarnom, mi pokazati kako 2 00:00:09,290 --> 00:00:12,540 predstavljaju skup cijelih brojeva, od nule na gore, 3 00:00:12,540 --> 00:00:15,110 koristite samo znamenke nula i jedan. 4 00:00:15,110 --> 00:00:17,890 U ovom video, mi ćemo koristiti binarni zapis na 5 00:00:17,890 --> 00:00:21,160 predstavljaju tekst, slova i to, kao dobro. 6 00:00:21,160 --> 00:00:22,810 >> Zašto bi mi smetaju da to učinite? 7 00:00:22,810 --> 00:00:25,450 Pa, ispod haube, računalo samo stvarno 8 00:00:25,450 --> 00:00:29,070 razumije nula i one, binarni brojeve, jer to 9 00:00:29,070 --> 00:00:32,100 može biti zastupljena lako s elektromagnetskim stvarima. 10 00:00:32,100 --> 00:00:35,040 >> Na primjer, mislim memorije računala poput duga 11 00:00:35,040 --> 00:00:37,810 Niz žarulja, pri čemu svaki pojedinac žarulja 12 00:00:37,810 --> 00:00:40,680 predstavlja nulu ako je isključen, a jedan 13 00:00:40,680 --> 00:00:42,230 ako je uključen. 14 00:00:42,230 --> 00:00:44,730 Umjesto korištenja hrpa žarulja, neki moderni 15 00:00:44,730 --> 00:00:46,990 memorija to pomoću kondenzatora koji drže nisko 16 00:00:46,990 --> 00:00:49,120 naplatiti predstavljaju nulu i visoku naplatu 17 00:00:49,120 --> 00:00:50,780 predstavljati jedan. 18 00:00:50,780 --> 00:00:52,510 >> Postoje i druge tehnike, kao dobro. 19 00:00:52,510 --> 00:00:55,500 U svakom slučaju, kako bi se pohraniti ništa u memoriji, trebamo 20 00:00:55,500 --> 00:00:57,590 prvo ga pretvoriti u nešto što može biti zapravo 21 00:00:57,590 --> 00:01:00,140 zastupljeni u fizičkom hardveru. 22 00:01:00,140 --> 00:01:02,450 Dakle, neka je razmišljati o tome kako bismo mogli predstavljati slova 23 00:01:02,450 --> 00:01:04,230 binarni zapis. 24 00:01:04,230 --> 00:01:08,141 U engleskom jeziku, imamo 26 slova u abecedno, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, i tako dalje, preko Z. Mi možemo dodijeliti svaki od 26 00:01:12,930 --> 00:01:16,650 tih broj, kažu nula do 25., a zatim pomoću 27 00:01:16,650 --> 00:01:18,880 binarni zapis, možemo predstavljaju svaki broj kao 28 00:01:18,880 --> 00:01:20,890 slijed nula i one. 29 00:01:20,890 --> 00:01:22,420 To nije previše loše. 30 00:01:22,420 --> 00:01:25,050 Međutim, to neće biti dovoljno. 31 00:01:25,050 --> 00:01:27,680 Uz ovaj sustav, mi zapravo ne može razlikovati 32 00:01:27,680 --> 00:01:29,830 gornji i mala slova. 33 00:01:29,830 --> 00:01:32,140 Ako želimo naše računalo da bi mogli razlikovati 34 00:01:32,140 --> 00:01:36,020 dva slučaja, onda trebamo dodatnih 26 brojeva. 35 00:01:36,020 --> 00:01:38,700 A što je s razdobljima, zarezima i 36 00:01:38,700 --> 00:01:40,390 drugi interpunkcijski znakovi? 37 00:01:40,390 --> 00:01:43,560 >> Na moje tipkovnice, imam 32 onih, uključujući sve od 38 00:01:43,560 --> 00:01:46,800 posebni znakovi poput Caret i ampersand. 39 00:01:46,800 --> 00:01:49,700 To je ne uključujući brojčanim znakovima, nula kroz devet, 40 00:01:49,700 --> 00:01:51,840 jer mi još uvijek želite biti u mogućnosti upisati brojeve u decimalne 41 00:01:51,840 --> 00:01:54,840 zapis na računalu, čak i ako je računalo samo stvarno 42 00:01:54,840 --> 00:01:57,830 razumije binarni zapis ispod haube. 43 00:01:57,830 --> 00:02:00,620 >> I na kraju, mi ćemo morati predstavljaju razmak tako 44 00:02:00,620 --> 00:02:02,450 da je naš razmak radi. 45 00:02:02,450 --> 00:02:04,920 Dakle, figuring out kako predstavljaju tekst na računalu 46 00:02:04,920 --> 00:02:08,400 Potrebno je malo više nego što smo možda mislili na početku. 47 00:02:08,400 --> 00:02:11,710 Osim toga, pretpostaviti ćemo onda doći do vlastitog kodiranja 48 00:02:11,710 --> 00:02:14,560 Shema za predstavljanje znakova kao brojeve. 49 00:02:14,560 --> 00:02:17,470 Ipak smo odlučili da se kodirati likovi će neizbježno biti 50 00:02:17,470 --> 00:02:20,630 proizvoljna, kao što smo vidjeli ranije, kada smo razgovarali o korištenju 51 00:02:20,630 --> 00:02:23,730 brojevi nulu do 25. predstavljaju slova 52 00:02:23,730 --> 00:02:26,850 do Z. Zašto ne koristiti 10 do 35, tako da možemo spasiti 53 00:02:26,850 --> 00:02:29,350 nula kroz devet za brojčanim znakovima? 54 00:02:29,350 --> 00:02:31,590 >> Nema pravi razlog, samo smo izabrali god se činilo 55 00:02:31,590 --> 00:02:33,770 najbolje za nas. 56 00:02:33,770 --> 00:02:37,650 Povratak u ranim 1960-ih, to je bio pravi problem. 57 00:02:37,650 --> 00:02:39,370 Različiti proizvođači računala su pomoću 58 00:02:39,370 --> 00:02:41,910 različiti kodiranje sheme, i to je komunikacija 59 00:02:41,910 --> 00:02:44,340 između različitih strojeva vrlo težak zadatak. 60 00:02:44,340 --> 00:02:47,810 Američki nacionalni institut za standarde, ANSI 61 00:02:47,810 --> 00:02:50,210 formirao komisiju da razviju zajedničku shemu. 62 00:02:50,210 --> 00:02:53,780 I u 1963, American Standard Code za informiranje 63 00:02:53,780 --> 00:02:58,600 Čvor, više uobičajeno poznat kao ASCII, rođen. 64 00:02:58,600 --> 00:03:01,360 >> ASCII je zamišljen kao sedam-bitnom kodiranja, koji 65 00:03:01,360 --> 00:03:03,800 znači da svaki znak zastupljeni kombinacijom 66 00:03:03,800 --> 00:03:06,070 od sedam nula i one. 67 00:03:06,070 --> 00:03:09,670 S ta dva mogućih vrijednosti, nula ili jedan, za svaku 68 00:03:09,670 --> 00:03:14,040 od sedam bitova, postoje dva na sedmi ili 128 69 00:03:14,040 --> 00:03:16,120 znakova koji se može prikazati s ASCII 70 00:03:16,120 --> 00:03:18,140 kodiranje shemu. 71 00:03:18,140 --> 00:03:21,480 Dakle 128 znakova zvuči kao puno, zar ne? 72 00:03:21,480 --> 00:03:24,180 Pa, sjetite se da postoje 26 malih slova u 73 00:03:24,180 --> 00:03:29,260 Engleski, još 26 velikih slova 10 znamenki likovi, 74 00:03:29,260 --> 00:03:31,470 32 interpunkcije i posebni znakovi, 75 00:03:31,470 --> 00:03:33,430 i jedan razmak. 76 00:03:33,430 --> 00:03:37,050 >> To nas stavlja na 95, tako da imamo još 33 znakova da smo 77 00:03:37,050 --> 00:03:38,400 može zastupati. 78 00:03:38,400 --> 00:03:39,900 >> Dakle, ono što je ostalo? 79 00:03:39,900 --> 00:03:43,130 Pa, u danima razvoja ASCII, teleprinter 80 00:03:43,130 --> 00:03:45,080 strojevi, koji su pisaće strojeve koji se koriste za 81 00:03:45,080 --> 00:03:48,040 slati poruke preko mreže, bilo je široko rasprostranjeno. 82 00:03:48,040 --> 00:03:50,030 I ti strojevi imao dodatne znakove koji se koriste za 83 00:03:50,030 --> 00:03:52,890 kontrolirati ih, na primjer, da im kažem kad za pomicanje 84 00:03:52,890 --> 00:03:57,620 ispis glavu dolje linije, linija hrane ili nova linija ključ, 85 00:03:57,620 --> 00:04:00,440 kada premjestiti na lijevu marginu, prijevoz povratka, 86 00:04:00,440 --> 00:04:04,890 ili jednostavno vratiti ključ, a kad se vrati jednom prostora, 87 00:04:04,890 --> 00:04:07,760 backspace karakter, i tako dalje. 88 00:04:07,760 --> 00:04:10,250 >> Ti likovi su pozvani kontrolni znakovi, a oni 89 00:04:10,250 --> 00:04:12,680 predstavljaju ostatak ASCII seta. 90 00:04:12,680 --> 00:04:15,230 Dakle, ako gledamo ASCII tablici, vidimo da je prvi 91 00:04:15,230 --> 00:04:18,800 32 brojeva, nula do 31, su rezervirane za kontrolu 92 00:04:18,800 --> 00:04:20,200 likovi. 93 00:04:20,200 --> 00:04:23,420 No, samo mi je rekao da je bilo 33 kontrolni znakovi. 94 00:04:23,420 --> 00:04:24,780 Što je problem? 95 00:04:24,780 --> 00:04:29,350 Pa, broj nula i 127, prvi i zadnji od 96 00:04:29,350 --> 00:04:32,560 ASCII skup, imaju posebne bitne obrasce, sve nule i sve 97 00:04:32,560 --> 00:04:34,710 one, respektivno. 98 00:04:34,710 --> 00:04:36,860 >> Dizajneri ASCII odlučio je, stoga, 99 00:04:36,860 --> 00:04:39,610 očuvanje ove brojeve za dodatne posebnih znakova, 100 00:04:39,610 --> 00:04:43,310 naime null karakter i DEL lik. 101 00:04:43,310 --> 00:04:46,340 Nula i DEL bili namijenjeni za papir traka uređivanje, koja se koristi 102 00:04:46,340 --> 00:04:48,930 biti zajednički način spremanje podataka. 103 00:04:48,930 --> 00:04:51,850 Papirna traka je doslovno samo dugo trake od papira, a na 104 00:04:51,850 --> 00:04:53,760 redovitim vremenskim razmacima na vrpci, ne bi bušiti 105 00:04:53,760 --> 00:04:55,430 rupa za pohranu podataka. 106 00:04:55,430 --> 00:04:58,720 Ovisno o širini trake, svaki stupac će biti 107 00:04:58,720 --> 00:05:03,186 moći primiti pet, šest, sedam, osam ili bitova. 108 00:05:03,186 --> 00:05:05,930 >> Za predstavljaju nultu malo, želite učiniti ništa da vrpcu, što bih 109 00:05:05,930 --> 00:05:07,930 samo ostaviti prazan prostor. 110 00:05:07,930 --> 00:05:10,560 Za jedan malo, želite bušiti rupu. 111 00:05:10,560 --> 00:05:12,980 Null lik bi samo ostaviti prazan stupac, 112 00:05:12,980 --> 00:05:14,480 ukazuje na sve nule. 113 00:05:14,480 --> 00:05:17,250 I DEL lik bi bušiti stupac pun rupa 114 00:05:17,250 --> 00:05:18,550 kroz svoje trake. 115 00:05:18,550 --> 00:05:21,300 Kao rezultat toga, možete koristiti DEL znak za brisanje 116 00:05:21,300 --> 00:05:22,440 informacije. 117 00:05:22,440 --> 00:05:25,060 Zamislite uzimajući punjene-out izborni listić, a zatim 118 00:05:25,060 --> 00:05:27,180 probijanje sve neprobušen rupe. 119 00:05:27,180 --> 00:05:29,410 >> Možete poništiti listić, jer to je nemoguće 120 00:05:29,410 --> 00:05:31,820 reći što je izvorni glasovi bili. 121 00:05:31,820 --> 00:05:34,720 Dok DEL lik još uvijek se koristi je moderna 122 00:05:34,720 --> 00:05:37,980 Brisanje ključ, null karakter je došao da se koristi kao 123 00:05:37,980 --> 00:05:40,010 prestanak lik za C žice i 124 00:05:40,010 --> 00:05:41,990 neke druge formate podataka. 125 00:05:41,990 --> 00:05:45,140 Možda ga znate kao lik obrnute kose nula, 126 00:05:45,140 --> 00:05:47,720 budući da je kako ga predstavljaju u pisanom obliku. 127 00:05:47,720 --> 00:05:49,580 Dakle, natrag na naš ASCII tablice. 128 00:05:49,580 --> 00:05:52,770 Nakon prvih 32 kontrolni znakovi dolaze 95 129 00:05:52,770 --> 00:05:54,280 ispis znakova. 130 00:05:54,280 --> 00:05:55,800 >> Postoji nekoliko cool dizajn odluke vrijedan 131 00:05:55,800 --> 00:05:57,330 pričaju ovdje. 132 00:05:57,330 --> 00:06:00,810 Prvo, decimalna znamenka likovi, nula kroz devet, 133 00:06:00,810 --> 00:06:04,050 odgovaraju brojevima 48 do 57, što se čini 134 00:06:04,050 --> 00:06:06,980 unremarkable dok gledamo brojeva 48 do 57 135 00:06:06,980 --> 00:06:09,080 napisan u binarnom zapisu. 136 00:06:09,080 --> 00:06:11,530 Ako to učinimo, onda ćemo vidjeti da cifra, 137 00:06:11,530 --> 00:06:22,320 nula, odgovara 0110000, jednom karte za 0110001, dva 138 00:06:22,320 --> 00:06:26,640 0110010, i tako dalje. 139 00:06:26,640 --> 00:06:27,950 Pogledajte uzorak? 140 00:06:27,950 --> 00:06:30,170 Svaka cifra je mapirati na njegov odgovara 141 00:06:30,170 --> 00:06:35,170 ekvivalent u binarnom zapisu, prefiks sa 011. 142 00:06:35,170 --> 00:06:38,820 Dalje, primijetit ćete da su velika slova početi u 65, 143 00:06:38,820 --> 00:06:41,310 s velikih slova A, ali i malih slova 144 00:06:41,310 --> 00:06:43,010 ne početi do 97. 145 00:06:43,010 --> 00:06:45,580 Dakle, postoje 32 mjesta u između. 146 00:06:45,580 --> 00:06:47,000 To mi se čini čudno. 147 00:06:47,000 --> 00:06:49,500 Oni su samo 26 slova u abecedi. 148 00:06:49,500 --> 00:06:51,410 >> Zašto ih podijeliti ovako? 149 00:06:51,410 --> 00:06:53,960 Opet, ako gledamo binarne reprezentacije, možemo 150 00:06:53,960 --> 00:06:55,230 vidjeti uzorak. 151 00:06:55,230 --> 00:07:01,360 Velika slova predstavljaju 1000001, i mala je 152 00:07:01,360 --> 00:07:05,810 zastupa 1100001. 153 00:07:05,810 --> 00:07:12,770 Veliko B predstavlja 1000010, i mala b 154 00:07:12,770 --> 00:07:17,280 zastupa 1100010. 155 00:07:17,280 --> 00:07:19,440 Možete li mi reći što se ovdje događa? 156 00:07:19,440 --> 00:07:22,470 Bit da je drugi s lijeve strane, u dvije do 157 00:07:22,470 --> 00:07:26,510 petine, za 32-inke položaju, 0 za sve velikim slovima 158 00:07:26,510 --> 00:07:30,120 slova, a 1 za sve malim slovima. 159 00:07:30,120 --> 00:07:33,130 >> To znači pretvaranje iz velika slova u mala slova, a 160 00:07:33,130 --> 00:07:36,000 obrnuto, stvar je jednostavna bitnom japanki. 161 00:07:36,000 --> 00:07:38,380 Tako da nas dovodi do kraja ASCII tablice. 162 00:07:38,380 --> 00:07:40,700 Možete li se sjetiti svega što smo zaboravili? 163 00:07:40,700 --> 00:07:42,510 Pa, što o španjolskog enye, ili 164 00:07:42,510 --> 00:07:44,630 Grčki ili ćirilično pismo? 165 00:07:44,630 --> 00:07:46,610 A o tome kako kineski znakovi? 166 00:07:46,610 --> 00:07:49,050 Tu je puno da je bio izostavljen iz ASCII. 167 00:07:49,050 --> 00:07:51,920 Međutim, drugi standardni naziva Unicode je 168 00:07:51,920 --> 00:07:53,040 razvijen za pokrivanje svih tih 169 00:07:53,040 --> 00:07:54,840 znakova i još mnogo toga. 170 00:07:54,840 --> 00:07:57,040 >> No, to je tema za neki drugi put. 171 00:07:57,040 --> 00:07:58,500 Moje ime je Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Ovo je CS50.