1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: dvejetainių video, mes parodysime, kaip 2 00:00:09,290 --> 00:00:12,540 atstovauti sveikaisiais skaičiais rinkinys, nuo nulio iki 3 00:00:12,540 --> 00:00:15,110 naudojant tik SKAITMENYS nulio iki vieneto. 4 00:00:15,110 --> 00:00:17,890 Šiame vaizdo, mes ketiname naudoti dvejetainius aiškinamąją pastabą, 5 00:00:17,890 --> 00:00:21,160 atstovauja teksto, raidžių ir toks, taip pat. 6 00:00:21,160 --> 00:00:22,810 >> Kodėl mes nerimauti tai padaryti? 7 00:00:22,810 --> 00:00:25,450 Na, po gaubtu, kompiuteris tik tikrai 8 00:00:25,450 --> 00:00:29,070 supranta nulių ir, dvejetainiais skaitmenimis, nes tai 9 00:00:29,070 --> 00:00:32,100 gali būti atstovaujama lengvai elektromagnetinių dalykų. 10 00:00:32,100 --> 00:00:35,040 >> Pavyzdžiui, pagalvokite apie kompiuterio atmintyje, kaip ilgai 11 00:00:35,040 --> 00:00:37,810 eilutę, elektros lemputes, pagal kurią kiekvienas asmuo lemputė 12 00:00:37,810 --> 00:00:40,680 rodo nulį, jei jis išjungtas, o vienas 13 00:00:40,680 --> 00:00:42,230 jei jis įjungtas. 14 00:00:42,230 --> 00:00:44,730 Vietoj to, kad naudojant elektros lemputes krūva, kai kurie šiuolaikiniai 15 00:00:44,730 --> 00:00:46,990 atminties tai naudojant kondensatorių, kad laikyti žemas 16 00:00:46,990 --> 00:00:49,120 imti atstovauti nulio nustatymo ir aukštą mokestį 17 00:00:49,120 --> 00:00:50,780 sudaro vieną. 18 00:00:50,780 --> 00:00:52,510 >> Yra kiti metodai, taip pat. 19 00:00:52,510 --> 00:00:55,500 Bet kokiu atveju, siekiant išsaugoti atmintyje nieko, mes turime 20 00:00:55,500 --> 00:00:57,590 pirmiausia konvertuoti jį į kažką, kad gali būti iš tikrųjų 21 00:00:57,590 --> 00:01:00,140 atstovaujama fizinės kompiuterinės įrangos. 22 00:01:00,140 --> 00:01:02,450 Taigi pagalvokime apie tai, kaip mes galime atstovauti laiškus su 23 00:01:02,450 --> 00:01:04,230 dvejetainis žymėjimą. 24 00:01:04,230 --> 00:01:08,141 Anglų kalba, mes turime 26 raidyno raides,, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, ir tt iki Z. Mes galime priskirti kiekvieną iš 26 00:01:12,930 --> 00:01:16,650 tai skaičius, tarkim nulio per 25, ir tada naudojant 27 00:01:16,650 --> 00:01:18,880 dvejetainis notacija, mes galime atstovauti kiekvieno numerio 28 00:01:18,880 --> 00:01:20,890 nulių ir seka. 29 00:01:20,890 --> 00:01:22,420 Kad tai nėra labai blogai. 30 00:01:22,420 --> 00:01:25,050 Tačiau, kad nesiruošia būti pakankamai. 31 00:01:25,050 --> 00:01:27,680 Naudodami šią sistemą, mes galime ne iš tikrųjų atskirti 32 00:01:27,680 --> 00:01:29,830 didžiosios ir mažosios raidės. 33 00:01:29,830 --> 00:01:32,140 Jei norime, kad mūsų kompiuteryje, kad būtų galima atskirti 34 00:01:32,140 --> 00:01:36,020 du atvejai, tada mums reikia papildomai gauti 26 numerių. 35 00:01:36,020 --> 00:01:38,700 Ir ką apie laikotarpius, kableliais ir 36 00:01:38,700 --> 00:01:40,390 kitus skyrybos ženklus? 37 00:01:40,390 --> 00:01:43,560 >> Ant mano klaviatūros, aš gavau iš tų 32, įskaitant visas 38 00:01:43,560 --> 00:01:46,800 Žymeklis ir ampersendo specialių simbolių, pavyzdžiui,. 39 00:01:46,800 --> 00:01:49,700 Štai neįskaitant skaitmenų simbolių, nulinės per devynis 40 00:01:49,700 --> 00:01:51,840 nes mes vis dar norime, kad būtų galima įvesti skaičių dešimtainis 41 00:01:51,840 --> 00:01:54,840 notacijos kompiuteryje, net jei kompiuteris tik tikrai 42 00:01:54,840 --> 00:01:57,830 supranta dvejetainį notacijos po gaubtu. 43 00:01:57,830 --> 00:02:00,620 >> Ir, pagaliau, mes jums reikia atstovauti tarpo simbolį, kad 44 00:02:00,620 --> 00:02:02,450 kad mūsų Tarpo klavišas veikia. 45 00:02:02,450 --> 00:02:04,920 Taigi, suprasti, kaip atstovauti tekstą į kompiuterį 46 00:02:04,920 --> 00:02:08,400 trunka šiek tiek daugiau, nei mes galėjo pagalvoti, kad iš pradžių. 47 00:02:08,400 --> 00:02:11,710 Be to, manome tada ateiti su savo kodavimo 48 00:02:11,710 --> 00:02:14,560 schema atstovauti simbolius kaip skaičiai. 49 00:02:14,560 --> 00:02:17,470 Tačiau mes nuspręsti koduoti ženklai neišvengiamai bus 50 00:02:17,470 --> 00:02:20,630 savavališkai, kaip matėme anksčiau, kai mes kalbėjome apie naudojant 51 00:02:20,630 --> 00:02:23,730 numeriai nulio per 25 atstovauja raides 52 00:02:23,730 --> 00:02:26,850 iki Z. Kodėl gi ne naudoti nuo 10 iki 35, kad mes galime išgelbėti 53 00:02:26,850 --> 00:02:29,350 nulis per devynis skaitmenų simbolių? 54 00:02:29,350 --> 00:02:31,590 >> Yra tikroji priežastis, mes ne tik pasirinko, kokia atrodė 55 00:02:31,590 --> 00:02:33,770 mums geriausia. 56 00:02:33,770 --> 00:02:37,650 Atgal į 1960-ųjų pradžioje, tai buvo tikra problema. 57 00:02:37,650 --> 00:02:39,370 Skirtingų kompiuterių gamintojai buvo 58 00:02:39,370 --> 00:02:41,910 skirtingų kodavimo schemos, ir tai padarė komunikacijos 59 00:02:41,910 --> 00:02:44,340 tarp skirtingų mašinų labai sudėtingas uždavinys. 60 00:02:44,340 --> 00:02:47,810 American National Standards Institute, ANSI, 61 00:02:47,810 --> 00:02:50,210 suformavo komitetą sukurti bendrą sistemą. 62 00:02:50,210 --> 00:02:53,780 Ir 1963 metais, Amerikos standartinis informacijos kodas 63 00:02:53,780 --> 00:02:58,600 Mainai, labiau žinomas kaip ASCII, gimė. 64 00:02:58,600 --> 00:03:01,360 >> ASCII buvo sukurta kaip septynių bitų kodavimą, kuris 65 00:03:01,360 --> 00:03:03,800 reiškia, kad kiekvienas simbolis yra atstovaujamos derinys 66 00:03:03,800 --> 00:03:06,070 septynių nulių ir. 67 00:03:06,070 --> 00:03:09,670 Su šių dviejų galimų reikšmių, nulis arba vienas, už kiekvieną 68 00:03:09,670 --> 00:03:14,040 iš septynių bitų, yra du septintą ar 128 69 00:03:14,040 --> 00:03:16,120 simbolių, kurie gali būti atstovaujama su ASCII 70 00:03:16,120 --> 00:03:18,140 kodavimo schemą. 71 00:03:18,140 --> 00:03:21,480 Taigi 128 simbolių skamba kaip daug, tiesa? 72 00:03:21,480 --> 00:03:24,180 Na, atminkite, kad yra 26 mažosiomis raidėmis 73 00:03:24,180 --> 00:03:29,260 Anglų, dar 26 didžiosios raidės, 10 skaitmenų simbolių, 74 00:03:29,260 --> 00:03:31,470 32 skyrybos ir specialiuosius simbolius, 75 00:03:31,470 --> 00:03:33,430 ir vienas tarpas. 76 00:03:33,430 --> 00:03:37,050 >> Kad verčia mus 95, todėl mes turime dar 33 simbolių, kad mes 77 00:03:37,050 --> 00:03:38,400 gali atstovauti. 78 00:03:38,400 --> 00:03:39,900 >> Taigi, kas liko? 79 00:03:39,900 --> 00:03:43,130 Na, į ASCII, teletaipo plėtros dienų 80 00:03:43,130 --> 00:03:45,080 mašinos, kurios yra rašomosios mašinėlės, kurie yra naudojami 81 00:03:45,080 --> 00:03:48,040 siųsti laiškus tinkle, buvo plačiai paplitęs. 82 00:03:48,040 --> 00:03:50,030 Ir šios mašinos buvo papildomų simbolių, kurie naudojami 83 00:03:50,030 --> 00:03:52,890 juos kontroliuoti, pavyzdžiui, pasakyti jiems, kai judėti 84 00:03:52,890 --> 00:03:57,620 spausdinti galvą žemyn linija, linija pašarų ar nauja linija klavišas, 85 00:03:57,620 --> 00:04:00,440 kada pereiti prie kairiojo krašto, Carriage Return, 86 00:04:00,440 --> 00:04:04,890 arba tiesiog grįžti raktas, ir kada grįžti vieną erdvę, 87 00:04:04,890 --> 00:04:07,760 klavišas backspace pobūdžio, ir taip toliau. 88 00:04:07,760 --> 00:04:10,250 >> Šie ženklai yra vadinami valdymo simboliai, ir jie 89 00:04:10,250 --> 00:04:12,680 sudaro ASCII rinkinio poilsio. 90 00:04:12,680 --> 00:04:15,230 Taigi, jei pažvelgsime į ASCII lentelę, matome, kad pirmasis 91 00:04:15,230 --> 00:04:18,800 32 numeriai, nulio iki 31, yra skirta kontroliuoti 92 00:04:18,800 --> 00:04:20,200 simbolių. 93 00:04:20,200 --> 00:04:23,420 Bet mes tiesiog sakė, kad veikė 33 valdymo simboliai. 94 00:04:23,420 --> 00:04:24,780 Kas yra reikalas? 95 00:04:24,780 --> 00:04:29,350 Na, skaičius nulis ir 127, pirmasis ir paskutinis 96 00:04:29,350 --> 00:04:32,560 ASCII rinkinys, turi ypatingą bitų modelius, visi nuliai ir visi 97 00:04:32,560 --> 00:04:34,710 tie, atitinkamai. 98 00:04:34,710 --> 00:04:36,860 >> ASCII dizaineriai nusprendė, vadinasi, 99 00:04:36,860 --> 00:04:39,610 išsaugoti šiuos numerius, jei pristatomos papildomos specialių simbolių, 100 00:04:39,610 --> 00:04:43,310 null pobūdis ir DEL charakteris. 101 00:04:43,310 --> 00:04:46,340 Niekinis ir DEL buvo skirtas popieriaus juostos redagavimo, kuris naudojamas 102 00:04:46,340 --> 00:04:48,930 būti įprastas būdas duomenims saugoti. 103 00:04:48,930 --> 00:04:51,850 Popieriaus juosta, tik ilgai popieriaus juostelės, ir buvo tiesiog 104 00:04:51,850 --> 00:04:53,760 Reguliariai juostos, galite Punch 105 00:04:53,760 --> 00:04:55,430 skylės duomenims saugoti. 106 00:04:55,430 --> 00:04:58,720 Priklausomai nuo juostos pločio, kiekviename stulpelyje būtų 107 00:04:58,720 --> 00:05:03,186 galėtų tilpti penki, šeši, septyni, arba 8 bitai. 108 00:05:03,186 --> 00:05:05,930 >> Į nulinį tiek, jūs nieko padaryti, kad juosta, norite 109 00:05:05,930 --> 00:05:07,930 tiesiog palikti tuščią vietą. 110 00:05:07,930 --> 00:05:10,560 Bitas, jums reikia pramušti skylę. 111 00:05:10,560 --> 00:05:12,980 Null personažas tiesiog palikti tuščią stulpelį, 112 00:05:12,980 --> 00:05:14,480 nurodydama Visi nuliai. 113 00:05:14,480 --> 00:05:17,250 Ir DEL personažas kiauras Punch stulpelį 114 00:05:17,250 --> 00:05:18,550 per savo juostos. 115 00:05:18,550 --> 00:05:21,300 Kaip rezultatas, jūs galite naudoti DEL simbolį ištrinti 116 00:05:21,300 --> 00:05:22,440 informacija. 117 00:05:22,440 --> 00:05:25,060 Užpildytą rinkimų biuletenį Įsivaizduokite, o tada 118 00:05:25,060 --> 00:05:27,180 perforavimo visas unpunched skyles. 119 00:05:27,180 --> 00:05:29,410 >> Jūs netekti biuletenį, nes tai neįmanoma 120 00:05:29,410 --> 00:05:31,820 pasakyti, kas originalus balsų. 121 00:05:31,820 --> 00:05:34,720 O DEL charakteris vis dar naudojamas modernus 122 00:05:34,720 --> 00:05:37,980 Trynimo klavišą, null simbolis atėjo būti naudojamas kaip 123 00:05:37,980 --> 00:05:40,010 nutraukimas simbolį C stygos ir 124 00:05:40,010 --> 00:05:41,990 kai kurių kitų duomenų formatai. 125 00:05:41,990 --> 00:05:45,140 Galbūt žinote, "backslash nulinio simbolio, 126 00:05:45,140 --> 00:05:47,720 nes tai kaip mes atstovaujame ją raštu. 127 00:05:47,720 --> 00:05:49,580 Taigi atgal į mūsų ASCII lentelę. 128 00:05:49,580 --> 00:05:52,770 Po pirmųjų 32 valdymo simboliai ateiti 95 129 00:05:52,770 --> 00:05:54,280 spausdintinių simbolių. 130 00:05:54,280 --> 00:05:55,800 >> Yra pora kietas dizaino sprendimus verta 131 00:05:55,800 --> 00:05:57,330 kalbame apie čia. 132 00:05:57,330 --> 00:06:00,810 Pirma, dešimtainis skaitmuo simbolių, nulis per devynis 133 00:06:00,810 --> 00:06:04,050 atitinka skaičių 48 per 57, kuri, atrodo 134 00:06:04,050 --> 00:06:06,980 niekuo neišsiskiriantys, kol mes ieškome į numerius 48 per 57 135 00:06:06,980 --> 00:06:09,080 parašyta dvejetainiu notacijos. 136 00:06:09,080 --> 00:06:11,530 Jei mes tai padarysime, tada matome, kad skaitmuo personažas, 137 00:06:11,530 --> 00:06:22,320 lygus nuliui, atitinka 0110000, vienas žemėlapius 0110001, du iš jų 138 00:06:22,320 --> 00:06:26,640 0110010, ir taip toliau. 139 00:06:26,640 --> 00:06:27,950 Modelis? 140 00:06:27,950 --> 00:06:30,170 Kiekvienas skaitmuo požymis yra susietas su jo atitinkamas 141 00:06:30,170 --> 00:06:35,170 ekvivalentas dvejetainiu notacijos, su prefiksu 011. 142 00:06:35,170 --> 00:06:38,820 Toliau, jūs pastebėsite, kad didžiosios raidės prasideda nuo 65, 143 00:06:38,820 --> 00:06:41,310 didžiąsias A, tačiau mažosios raidės 144 00:06:41,310 --> 00:06:43,010 nepradėkite iki 97. 145 00:06:43,010 --> 00:06:45,580 Taigi yra 32 tarpai tarp. 146 00:06:45,580 --> 00:06:47,000 , Kad atrodo keistai. 147 00:06:47,000 --> 00:06:49,500 Jie yra tik 26 raidės abėcėlės. 148 00:06:49,500 --> 00:06:51,410 >> Kodėl juos padalinti, kaip tai? 149 00:06:51,410 --> 00:06:53,960 Vėlgi, jei pažvelgsime į dvejetainius atstovybių, mes galime 150 00:06:53,960 --> 00:06:55,230 žr. modelį. 151 00:06:55,230 --> 00:07:01,360 Atstovauja 1000001 didžiąsias, ir mažąsias raides yra 152 00:07:01,360 --> 00:07:05,810 atstovaujama 1.100.001. 153 00:07:05,810 --> 00:07:12,770 Didžiosios raidės B atstovauja 1000010, ir mažosiomis raidėmis b yra 154 00:07:12,770 --> 00:07:17,280 atstovaujama 1.100.010. 155 00:07:17,280 --> 00:07:19,440 Ar galite pasakyti, kas čia vyksta? 156 00:07:19,440 --> 00:07:22,470 Tiek, kad iš kairės antra, dviejose 157 00:07:22,470 --> 00:07:26,510 penktadaliai 32ths poziciją, 0 visi didžiosiomis 158 00:07:26,510 --> 00:07:30,120 laiškais, ir 1 visi mažosiomis raidėmis. 159 00:07:30,120 --> 00:07:33,130 >> Tai reiškia, kad konvertuojant iš didžiąsias į mažąsias ir 160 00:07:33,130 --> 00:07:36,000 atvirkščiai, yra paprasta bitų apversti klausimas. 161 00:07:36,000 --> 00:07:38,380 Taip, kad duoda mums į ASCII lentelės pabaigoje. 162 00:07:38,380 --> 00:07:40,700 Ar manote, kad nieko mes praleistą? 163 00:07:40,700 --> 00:07:42,510 Na, kas apie Ispanijos enye, arba 164 00:07:42,510 --> 00:07:44,630 Graikų ir kirilicos abėcėlės? 165 00:07:44,630 --> 00:07:46,610 Ir kaip apie kinų simbolių? 166 00:07:46,610 --> 00:07:49,050 Yra daug, kad buvo paliktas ASCII. 167 00:07:49,050 --> 00:07:51,920 Tačiau, kita standartas vadinamas "Unicode" buvo 168 00:07:51,920 --> 00:07:53,040 sukurta siekiant patenkinti visus šiuos 169 00:07:53,040 --> 00:07:54,840 simbolių ir daug daugiau. 170 00:07:54,840 --> 00:07:57,040 >> Bet tai kitą kartą. 171 00:07:57,040 --> 00:07:58,500 Mano vardas yra Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Tai CS50.