1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: V videu o binary, bomo pokazali, kako 2 00:00:09,290 --> 00:00:12,540 predstavlja niz celih števil od nič gor, 3 00:00:12,540 --> 00:00:15,110 samo z uporabo številk od nič in ena. 4 00:00:15,110 --> 00:00:17,890 V ta video, da bomo uporabljajte binarni zapis za 5 00:00:17,890 --> 00:00:21,160 predstavljajo besedila, črke in take, kot dobro. 6 00:00:21,160 --> 00:00:22,810 >> Zakaj bi motilo, da to stori? 7 00:00:22,810 --> 00:00:25,450 No, pod pokrovom, računalnik le zares 8 00:00:25,450 --> 00:00:29,070 razume ničel in enic, binarni prstov, saj so ti 9 00:00:29,070 --> 00:00:32,100 lahko enostavno zastopa z elektromagnetnimi stvari. 10 00:00:32,100 --> 00:00:35,040 >> Na primer, mislim spomin računalnika kot dolgo 11 00:00:35,040 --> 00:00:37,810 niz žarnic, pri čemer vsaka posamezna žarnica 12 00:00:37,810 --> 00:00:40,680 pomeni nič, če je to izklopljeno in 1 13 00:00:40,680 --> 00:00:42,230 če je prižgana. 14 00:00:42,230 --> 00:00:44,730 Namesto uporabe kup žarnic, nekatere sodobne 15 00:00:44,730 --> 00:00:46,990 spomin se to uporablja kondenzatorji, ki imajo nizko 16 00:00:46,990 --> 00:00:49,120 zaračunati predstavlja nič in visoke dajatve 17 00:00:49,120 --> 00:00:50,780 da predstavlja enega. 18 00:00:50,780 --> 00:00:52,510 >> Obstajajo tudi druge tehnike, kot dobro. 19 00:00:52,510 --> 00:00:55,500 Kakorkoli že, za shranjevanje kaj v spomin, moramo 20 00:00:55,500 --> 00:00:57,590 najprej pretvoriti v nekaj, kar lahko dejansko 21 00:00:57,590 --> 00:01:00,140 zastopana v fizični strojni opremi. 22 00:01:00,140 --> 00:01:02,450 Torej, kaj je razmišljati o tem, kako bi lahko predstavljajo črke z 23 00:01:02,450 --> 00:01:04,230 binarni zapis. 24 00:01:04,230 --> 00:01:08,141 V angleščini, imamo 26 črk v abecedi, a, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D in tako naprej, skozi Z. Mi lahko dodeli vsakemu izmed 26 00:01:12,930 --> 00:01:16,650 to število, torej nič do 25, nato pa z uporabo 27 00:01:16,650 --> 00:01:18,880 binarni zapis, lahko predstavljajo vsako številko, kot je 28 00:01:18,880 --> 00:01:20,890 Zaporedje ničel in enic. 29 00:01:20,890 --> 00:01:22,420 To ni tako slabo. 30 00:01:22,420 --> 00:01:25,050 Vendar pa to ne bo dovolj. 31 00:01:25,050 --> 00:01:27,680 S tem sistemom, ne moremo razlikovati med dejansko 32 00:01:27,680 --> 00:01:29,830 Zgornji in male črke. 33 00:01:29,830 --> 00:01:32,140 Če želimo, da je naš računalnik, da bi bili sposobni razlikovati med 34 00:01:32,140 --> 00:01:36,020 Obe zadevi, nato pa smo potrebovali dodatnih 26 številk. 35 00:01:36,020 --> 00:01:38,700 In kaj o obdobjih, vejicami in 36 00:01:38,700 --> 00:01:40,390 pa večkrat? 37 00:01:40,390 --> 00:01:43,560 >> Na moji tipkovnici, imam 32 tistih, ki so, vključno z vsemi 38 00:01:43,560 --> 00:01:46,800 posebne znake, kot so strešica in znak pove. 39 00:01:46,800 --> 00:01:49,700 To ne vključuje mestne znakov, nič z 9, 40 00:01:49,700 --> 00:01:51,840 saj smo še vedno želijo, da bi lahko vnesete številke v desetiško 41 00:01:51,840 --> 00:01:54,840 Zapis na računalniku, tudi če je računalnik le zares 42 00:01:54,840 --> 00:01:57,830 razume binarni zapis pod pokrovom. 43 00:01:57,830 --> 00:02:00,620 >> In na koncu, bomo morali predstavljati presledek tako 44 00:02:00,620 --> 00:02:02,450 da je naša Space deluje. 45 00:02:02,450 --> 00:02:04,920 Torej ugotoviti, kako predstaviti besedilo na računalniku 46 00:02:04,920 --> 00:02:08,400 traja malo več kot morda smo mislili na začetku. 47 00:02:08,400 --> 00:02:11,710 Poleg tega, da so nam potem prišli do lastnega kodiranja 48 00:02:11,710 --> 00:02:14,560 Shema za zastopanje znakov kot številke. 49 00:02:14,560 --> 00:02:17,470 Vendar smo se odločili za kodiranje znakov bo neizogibno 50 00:02:17,470 --> 00:02:20,630 samovoljno, kot smo videli že prej, ko smo se pogovarjali o uporabo 51 00:02:20,630 --> 00:02:23,730 Številke nič do 25, da predstavljajo črke 52 00:02:23,730 --> 00:02:26,850 z Z. Zakaj ne bi uporabili 10 do 35, tako da bomo lahko shranite 53 00:02:26,850 --> 00:02:29,350 nič z 9 za mestno znakov? 54 00:02:29,350 --> 00:02:31,590 >> Ni pravi razlog, pravkar smo se odločili kar zdelo, 55 00:02:31,590 --> 00:02:33,770 najboljše za nas. 56 00:02:33,770 --> 00:02:37,650 Nazaj v začetku leta 1960, je bila to resna težava. 57 00:02:37,650 --> 00:02:39,370 Različni proizvajalci računalnikov so uporabljali 58 00:02:39,370 --> 00:02:41,910 različne sheme kodiranja, to pa je komunikacija 59 00:02:41,910 --> 00:02:44,340 med različnimi stroji zelo težka naloga. 60 00:02:44,340 --> 00:02:47,810 Ameriški Nacionalni inštitut za standarde, ANSI, 61 00:02:47,810 --> 00:02:50,210 ustanovili odbor za razvoj skupnega sistema. 62 00:02:50,210 --> 00:02:53,780 In leta 1963 je ameriški standardni nabor za informiranje 63 00:02:53,780 --> 00:02:58,600 Interchange, bolj znana kot ASCII, je bila rojena. 64 00:02:58,600 --> 00:03:01,360 >> ASCII je bil zasnovan kot 7-bitno kodiranje, ki 65 00:03:01,360 --> 00:03:03,800 pomeni, da je vsak znak, ki jih predstavlja kombinacijo 66 00:03:03,800 --> 00:03:06,070 sedem ničel in enic. 67 00:03:06,070 --> 00:03:09,670 V teh dveh možnih vrednosti, nič ali ena, za vsako 68 00:03:09,670 --> 00:03:14,040 od sedmih bitov, obstajata dve do 7. ali 128 69 00:03:14,040 --> 00:03:16,120 Znaki, ki jih lahko zastopane z ASCII 70 00:03:16,120 --> 00:03:18,140 kodiranje shemo. 71 00:03:18,140 --> 00:03:21,480 Torej 128 znakov zveni veliko, kajne? 72 00:03:21,480 --> 00:03:24,180 No, ne pozabite, da je 26 male črke v 73 00:03:24,180 --> 00:03:29,260 Angleščina, še 26 velike črke, 10 cifer znaki, 74 00:03:29,260 --> 00:03:31,470 32 ločila in posebni znaki, 75 00:03:31,470 --> 00:03:33,430 in en presledek. 76 00:03:33,430 --> 00:03:37,050 >> To nas uvršča na 95, tako da imamo še 33 znakov, ki jih 77 00:03:37,050 --> 00:03:38,400 lahko predstavljajo. 78 00:03:38,400 --> 00:03:39,900 >> Torej, kaj se je še ostalo? 79 00:03:39,900 --> 00:03:43,130 No, v dneh razvoju ASCII, teleksa 80 00:03:43,130 --> 00:03:45,080 Stroji, ki so pisalni stroji, ki se uporabljajo za 81 00:03:45,080 --> 00:03:48,040 pošiljanje sporočil prek omrežja, so bili razširjeni. 82 00:03:48,040 --> 00:03:50,030 In ti stroji so dodatne znake, ki se uporabljajo za 83 00:03:50,030 --> 00:03:52,890 nadzor nad njimi, na primer, da bi jim povedal, kdaj premakniti 84 00:03:52,890 --> 00:03:57,620 tiskalno glavo navzdol črto, črto krme ali nova linija ključ, 85 00:03:57,620 --> 00:04:00,440 ko se premaknete na levem robu, je povratek, 86 00:04:00,440 --> 00:04:04,890 ali pa preprosto vrne ključ, in ko se vrnete en prostor, se 87 00:04:04,890 --> 00:04:07,760 backspace značaj, in tako naprej. 88 00:04:07,760 --> 00:04:10,250 >> Ti znaki se imenujejo kontrolni znaki, in 89 00:04:10,250 --> 00:04:12,680 predstavlja preostanek ASCII niza. 90 00:04:12,680 --> 00:04:15,230 Torej, če pogledamo ASCII tabele vidimo, da je prva 91 00:04:15,230 --> 00:04:18,800 32 številk, nič do 31, so rezervirani za nadzor 92 00:04:18,800 --> 00:04:20,200 znake. 93 00:04:20,200 --> 00:04:23,420 Ampak samo rekel, da je bilo v 33 nadzornih znakov. 94 00:04:23,420 --> 00:04:24,780 Kaj se dogaja? 95 00:04:24,780 --> 00:04:29,350 No, nič več in 127, prvi in ​​zadnji od 96 00:04:29,350 --> 00:04:32,560 ASCII niz, imajo posebne vzorce bit, vse ničle in vsi 97 00:04:32,560 --> 00:04:34,710 tisti, respectively. 98 00:04:34,710 --> 00:04:36,860 >> Oblikovalci ASCII je zato odločila, da 99 00:04:36,860 --> 00:04:39,610 ohranitev teh številk dodatnih posebnih znakov, 100 00:04:39,610 --> 00:04:43,310 sicer null znak in znak DEL. 101 00:04:43,310 --> 00:04:46,340 Ničen in DEL so bili namenjeni za papir trak urejanja, ki se uporablja 102 00:04:46,340 --> 00:04:48,930 da je običajen način shranjevanja podatkov. 103 00:04:48,930 --> 00:04:51,850 Papir trak je dobesedno samo dolgo trak papirja, in na 104 00:04:51,850 --> 00:04:53,760 redno na traku, ki ste jo udarili 105 00:04:53,760 --> 00:04:55,430 Luknje za shranjevanje podatkov. 106 00:04:55,430 --> 00:04:58,720 Odvisno od širine traku, bi vsak stolpec je 107 00:04:58,720 --> 00:05:03,186 lahko sprejme 5, 6, 7, 8 bitov ali. 108 00:05:03,186 --> 00:05:05,930 >> Za predstavljajo nič bit, bi si zagotovo ne bo trak, ki ste jo 109 00:05:05,930 --> 00:05:07,930 pusti prazen prostor. 110 00:05:07,930 --> 00:05:10,560 Za en bit, bi punch luknjo. 111 00:05:10,560 --> 00:05:12,980 Null lik bi pustite prazen stolpec, 112 00:05:12,980 --> 00:05:14,480 navede vse ničle. 113 00:05:14,480 --> 00:05:17,250 In znak DEL udarec stolpec polno lukenj 114 00:05:17,250 --> 00:05:18,550 skozi trak. 115 00:05:18,550 --> 00:05:21,300 Kot rezultat, lahko uporabite znak DEL za brisanje 116 00:05:21,300 --> 00:05:22,440 informacije. 117 00:05:22,440 --> 00:05:25,060 Predstavljajte si, ob napolnjenega-out volilni glas in potem 118 00:05:25,060 --> 00:05:27,180 izsekavanje vse unpunched luknje. 119 00:05:27,180 --> 00:05:29,410 >> Ti razveljavi glasovanje, ker je nemogoče 120 00:05:29,410 --> 00:05:31,820 povej, kaj je bilo prvotno glasov. 121 00:05:31,820 --> 00:05:34,720 Medtem ko je znak DEL še vedno uporablja, je sodobna 122 00:05:34,720 --> 00:05:37,980 Delete tipko, null znak je, da se uporablja kot 123 00:05:37,980 --> 00:05:40,010 prenehanje znak za godala C in 124 00:05:40,010 --> 00:05:41,990 nekatere druge formate podatkov. 125 00:05:41,990 --> 00:05:45,140 Lahko bi ga poznamo kot znak poševnice nazaj nič, 126 00:05:45,140 --> 00:05:47,720 ker to je, kako smo ga zastopa v pisni obliki. 127 00:05:47,720 --> 00:05:49,580 Torej nazaj na našo ASCII tabeli. 128 00:05:49,580 --> 00:05:52,770 Po prvih 32 kontrolni znaki pridejo 95 129 00:05:52,770 --> 00:05:54,280 printable znaki. 130 00:05:54,280 --> 00:05:55,800 >> Obstaja nekaj kul oblikovanje odločitve vrednosti 131 00:05:55,800 --> 00:05:57,330 govoril o tem. 132 00:05:57,330 --> 00:06:00,810 Najprej decimalna števka znakov, nič z 9, 133 00:06:00,810 --> 00:06:04,050 ustreza številu 48 do 57, kar se zdi 134 00:06:04,050 --> 00:06:06,980 brez posebnosti, dokler pogledamo številke 48 do 57 135 00:06:06,980 --> 00:06:09,080 napisan v binarnem zapisu. 136 00:06:09,080 --> 00:06:11,530 Če nam to uspe, potem vidimo, da je številka, znak, 137 00:06:11,530 --> 00:06:22,320 nič, ustreza 0110000, 1 zemljevide 0110001, dve 138 00:06:22,320 --> 00:06:26,640 0110010, in tako naprej. 139 00:06:26,640 --> 00:06:27,950 Oglejte si vzorec? 140 00:06:27,950 --> 00:06:30,170 Vsak mestni znak se preslika v njeno ustrezno 141 00:06:30,170 --> 00:06:35,170 protivrednosti v zapisu binarni, s predpono 011. 142 00:06:35,170 --> 00:06:38,820 Next up, boste opazili, da so velike črke začnejo pri 65, 143 00:06:38,820 --> 00:06:41,310 z velikimi črkami A, vendar so malimi črkami 144 00:06:41,310 --> 00:06:43,010 ne začne šele 97. 145 00:06:43,010 --> 00:06:45,580 Tako je 32 prostorov v med. 146 00:06:45,580 --> 00:06:47,000 To se mi zdi čudno. 147 00:06:47,000 --> 00:06:49,500 So le 26 črk v abecedi. 148 00:06:49,500 --> 00:06:51,410 >> Zakaj bi jih razdeli tako? 149 00:06:51,410 --> 00:06:53,960 Tudi, če pogledamo binarno predstavitev, bomo lahko 150 00:06:53,960 --> 00:06:55,230 glej vzorec. 151 00:06:55,230 --> 00:07:01,360 Velike črke predstavljajo 1000001 in male črke, je 152 00:07:01,360 --> 00:07:05,810 ki jo zastopa 1100001. 153 00:07:05,810 --> 00:07:12,770 Velika črka B predstavlja 1000010 in male črke b je 154 00:07:12,770 --> 00:07:17,280 ki jo zastopa 1100010. 155 00:07:17,280 --> 00:07:19,440 Ali mi lahko poveste, kaj se dogaja tukaj? 156 00:07:19,440 --> 00:07:22,470 Bit, da je drugi z leve v 2 do 157 00:07:22,470 --> 00:07:26,510 petine, za 32ths položaja, 0 za vse velikimi črkami 158 00:07:26,510 --> 00:07:30,120 črke in 1 za vse male črke. 159 00:07:30,120 --> 00:07:33,130 >> To pomeni pretvorbo velikih na male črke, in 160 00:07:33,130 --> 00:07:36,000 obratno, je stvar preprosta flip bitno. 161 00:07:36,000 --> 00:07:38,380 Tako, da nas pripelje do konca ASCII tabele. 162 00:07:38,380 --> 00:07:40,700 Si lahko zamislite kaj smo pozabili? 163 00:07:40,700 --> 00:07:42,510 No, kaj pa je španska enye, ali 164 00:07:42,510 --> 00:07:44,630 Grška abeceda ali cirilici? 165 00:07:44,630 --> 00:07:46,610 Kaj pa kitajski znaki? 166 00:07:46,610 --> 00:07:49,050 Veliko, ki je bila izključena iz ASCII. 167 00:07:49,050 --> 00:07:51,920 Vendar pa je drug standard se imenuje Unicode bilo 168 00:07:51,920 --> 00:07:53,040 razvit za kritje vseh teh 169 00:07:53,040 --> 00:07:54,840 znaki in še veliko več. 170 00:07:54,840 --> 00:07:57,040 >> Ampak to je tema za drug čas. 171 00:07:57,040 --> 00:07:58,500 Moje ime je Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 To je CS50.