1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate HARDISON: In video binaarne, näitame, kuidas 2 00:00:09,290 --> 00:00:12,540 esindada komplekt täisarve, nullist püsti, 3 00:00:12,540 --> 00:00:15,110 kasutades ainult numbrit null ja üks. 4 00:00:15,110 --> 00:00:17,890 Selles videos, me ei kavatse kasutada kahendesituse kuni 5 00:00:17,890 --> 00:00:21,160 esindada tekst, tähed ja selline, samuti. 6 00:00:21,160 --> 00:00:22,810 >> Miks me viitsinud seda teha? 7 00:00:22,810 --> 00:00:25,450 Noh, kapoti alla, arvuti ainult tõesti 8 00:00:25,450 --> 00:00:29,070 mõistab nulle ja ühtesid, kahendnumbrist, kuna need 9 00:00:29,070 --> 00:00:32,100 saab esitada kergesti elektromagnetiline asju. 10 00:00:32,100 --> 00:00:35,040 >> Näiteks mõelda arvuti mälu nagu pikk 11 00:00:35,040 --> 00:00:37,810 string lambid, mille iga pirn 12 00:00:37,810 --> 00:00:40,680 esindab nulli, kui see on välja lülitatud, ja üks 13 00:00:40,680 --> 00:00:42,230 kui ta on sisse lülitatud. 14 00:00:42,230 --> 00:00:44,730 Kasutamise asemel hunnik lambid, mõned kaasaegsed 15 00:00:44,730 --> 00:00:46,990 mälu ei seda kasutades kondensaatoreid, mis hoiavad madalat 16 00:00:46,990 --> 00:00:49,120 võta esindama null ja kõrge tasu 17 00:00:49,120 --> 00:00:50,780 esindada üks. 18 00:00:50,780 --> 00:00:52,510 >> On ka teisi meetodeid samuti. 19 00:00:52,510 --> 00:00:55,500 Igatahes, et salvestada midagi mällu, peame 20 00:00:55,500 --> 00:00:57,590 kõigepealt teisendada see midagi, mida saab tegelikult 21 00:00:57,590 --> 00:01:00,140 esindatud füüsilise riistvaraga. 22 00:01:00,140 --> 00:01:02,450 Nii et mõelgem, kuidas me võiksime esindada tähti 23 00:01:02,450 --> 00:01:04,230 kahendesituse. 24 00:01:04,230 --> 00:01:08,141 Inglise keeles on meil 26 tähte alusel tähestiku,, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, ja nii edasi, kuni läbi Z. Me võime määrata iga üks 26 00:01:12,930 --> 00:01:16,650 Nende arv, ütleme null läbi 25 ja seejärel kasutades 27 00:01:16,650 --> 00:01:18,880 kahendesituse, saame esindada iga numbri 28 00:01:18,880 --> 00:01:20,890 jada nulle ja ühtesid. 29 00:01:20,890 --> 00:01:22,420 See ei ole liiga halb. 30 00:01:22,420 --> 00:01:25,050 Kuid see ei kavatse olla piisav. 31 00:01:25,050 --> 00:01:27,680 Selle süsteemi, ei saa me tegelikult vahet 32 00:01:27,680 --> 00:01:29,830 ülemise ja väiketähti. 33 00:01:29,830 --> 00:01:32,140 Kui me tahame, et meie arvuti, et oleks võimalik eristada 34 00:01:32,140 --> 00:01:36,020 kahel juhul, siis me peame veel 26 numbrid. 35 00:01:36,020 --> 00:01:38,700 Ja kuidas perioodidel, komade ja 36 00:01:38,700 --> 00:01:40,390 muude kirjavahemärkide? 37 00:01:40,390 --> 00:01:43,560 >> Minu klaviatuuri, ma pean 32 need, sh kõik 38 00:01:43,560 --> 00:01:46,800 erimärke nagu katus ja ampersand. 39 00:01:46,800 --> 00:01:49,700 See pole ka kohalise märki, null läbi üheksa, 40 00:01:49,700 --> 00:01:51,840 kuna me ikka tahame olla võimelised kirjutama numbreid kohaga 41 00:01:51,840 --> 00:01:54,840 märke arvutisse, isegi kui arvuti ainult tõesti 42 00:01:54,840 --> 00:01:57,830 mõistab kahendesituse kapoti alla. 43 00:01:57,830 --> 00:02:00,620 >> Ja lõpuks, me peame esindama tühik nii 44 00:02:00,620 --> 00:02:02,450 et meie Space Baar toimib. 45 00:02:02,450 --> 00:02:04,920 Nii figuring kuidas esindama teksti arvutisse 46 00:02:04,920 --> 00:02:08,400 võtab natuke rohkem, kui me võib-olla arvasid esialgu. 47 00:02:08,400 --> 00:02:11,710 Lisaks Oletame siis tulla oma kodeering 48 00:02:11,710 --> 00:02:14,560 kava esindama tähemärki numbreid. 49 00:02:14,560 --> 00:02:17,470 Kuid me otsustame kodeerida tähemärki paratamatult 50 00:02:17,470 --> 00:02:20,630 meelevaldne, nagu me nägime, kui me rääkisime, kasutades 51 00:02:20,630 --> 00:02:23,730 numbrid nulli läbi 25 esindama tähed 52 00:02:23,730 --> 00:02:26,850 läbi Z. Miks mitte kasutada 10 kuni 35, nii et saame säästa 53 00:02:26,850 --> 00:02:29,350 null läbi üheksa kohaline tähemärki? 54 00:02:29,350 --> 00:02:31,590 >> Pole mingit tegelikku põhjust, me just valis iganes tundus 55 00:02:31,590 --> 00:02:33,770 meie jaoks parim. 56 00:02:33,770 --> 00:02:37,650 Tagasi 1960ndate alguses, see oli tõeline probleem. 57 00:02:37,650 --> 00:02:39,370 Erinevad arvuti tootjad kasutasid 58 00:02:39,370 --> 00:02:41,910 erinevate merkistöjä, ja see tegi kommunikatsioon 59 00:02:41,910 --> 00:02:44,340 erinevate masinatega väga raske ülesanne. 60 00:02:44,340 --> 00:02:47,810 American National Standards Institute, ANSI, 61 00:02:47,810 --> 00:02:50,210 moodustatud komitee töötada välja ühine kava. 62 00:02:50,210 --> 00:02:53,780 Ja aastal 1963, American Standard Code infovahetuse 63 00:02:53,780 --> 00:02:58,600 Interchange, rohkem tuntud kui ASCII sündis. 64 00:02:58,600 --> 00:03:01,360 >> ASCII oli mõeldud 7-bitine kodeering, mis 65 00:03:01,360 --> 00:03:03,800 tähendab, et iga märk esindab kombinatsioon 66 00:03:03,800 --> 00:03:06,070 Seitsme nulle ja ühtesid. 67 00:03:06,070 --> 00:03:09,670 Mis need kaks võimalikku väärtust, null või üks iga 68 00:03:09,670 --> 00:03:14,040 Seitsme bitti, on kaks kuni seitsmenda või 128 69 00:03:14,040 --> 00:03:16,120 märkide esindatud ASCII 70 00:03:16,120 --> 00:03:18,140 märgistik. 71 00:03:18,140 --> 00:03:21,480 Nii et 128 tähemärki kõlab palju, eks? 72 00:03:21,480 --> 00:03:24,180 Noh, pea meeles, et seal on 26 väiketähti sisse 73 00:03:24,180 --> 00:03:29,260 Inglise, veel 26 suurtähed, 10-kohaline tähemärki, 74 00:03:29,260 --> 00:03:31,470 32 kirjavahemärkide ja erimärkide 75 00:03:31,470 --> 00:03:33,430 ja üks tühik. 76 00:03:33,430 --> 00:03:37,050 >> See paneb meid 95, seega on meil veel 33 märki, et me 77 00:03:37,050 --> 00:03:38,400 võivad esindada. 78 00:03:38,400 --> 00:03:39,900 >> Mis siis vasakule? 79 00:03:39,900 --> 00:03:43,130 Noh, päeva arendamise ASCII, teletaip 80 00:03:43,130 --> 00:03:45,080 masinad, mis on kirjutusmasinad, mida kasutatakse 81 00:03:45,080 --> 00:03:48,040 saata sõnumeid üle võrgu, olid laialt levinud. 82 00:03:48,040 --> 00:03:50,030 Ja need masinad olid veel märke kasutatakse 83 00:03:50,030 --> 00:03:52,890 ohjamine, näiteks neile öelda, kui liikuda 84 00:03:52,890 --> 00:03:57,620 prindi pea alla joon, reavahetuse või uue liini klahvi 85 00:03:57,620 --> 00:04:00,440 kui liikuda vasakule marginaali, kelgutagastusmärgid 86 00:04:00,440 --> 00:04:04,890 või lihtsalt tagasi võti, ja kui minna tagasi ühe sammu, 87 00:04:04,890 --> 00:04:07,760 backspace iseloomu, ja nii edasi. 88 00:04:07,760 --> 00:04:10,250 >> Need märgid on kutsutud juhtmärke, ja nad 89 00:04:10,250 --> 00:04:12,680 moodustavad ülejäänud ASCII komplekti. 90 00:04:12,680 --> 00:04:15,230 Nii et kui me vaatame ASCII tabel, näeme, et esimene 91 00:04:15,230 --> 00:04:18,800 32 numbrid, null kuni 31, on mõeldud kontrolli 92 00:04:18,800 --> 00:04:20,200 tähemärki. 93 00:04:20,200 --> 00:04:23,420 Aga me lihtsalt öelda, et seal oli 33 juhtmärke. 94 00:04:23,420 --> 00:04:24,780 Mis värk on? 95 00:04:24,780 --> 00:04:29,350 Noh, number nulli ja 127, esimene ja viimane 96 00:04:29,350 --> 00:04:32,560 ASCII komplekt, on eriline natuke mustrid, kõik nullid ja kõik 97 00:04:32,560 --> 00:04:34,710 need võrra. 98 00:04:34,710 --> 00:04:36,860 >> Disainerid ASCII otsustas seetõttu 99 00:04:36,860 --> 00:04:39,610 säilitada neid numbreid pildi erimärkide 100 00:04:39,610 --> 00:04:43,310 nimelt null iseloomu ja DEL iseloomu. 101 00:04:43,310 --> 00:04:46,340 Null ja DEL olid mõeldud paberteip toimetamine, mis kasutatud 102 00:04:46,340 --> 00:04:48,930 olema ühine viis andmete salvestamiseks. 103 00:04:48,930 --> 00:04:51,850 Paberlindiga oli sõna otseses mõttes lihtsalt pikk riba paberit, ja 104 00:04:51,850 --> 00:04:53,760 regulaarselt kassetile, siis tahaks virutada 105 00:04:53,760 --> 00:04:55,430 augud andmete talletamiseks. 106 00:04:55,430 --> 00:04:58,720 Sõltuvalt lindi laiuse, igas veerus oleks 107 00:04:58,720 --> 00:05:03,186 suudab mahutada viis, kuus, seitse, kaheksa bitti. 108 00:05:03,186 --> 00:05:05,930 >> Esindada null natuke, siis tahaks teha midagi lindile, siis tahaks 109 00:05:05,930 --> 00:05:07,930 lihtsalt jäta tühikut. 110 00:05:07,930 --> 00:05:10,560 Sest üks natuke, siis tahaks Punch auk. 111 00:05:10,560 --> 00:05:12,980 Null iseloomu oleks lihtsalt lahkuda tühi veerg, 112 00:05:12,980 --> 00:05:14,480 näidatud kõik nullid. 113 00:05:14,480 --> 00:05:17,250 Ja DEL iseloom oleks Punch veerus auke täis 114 00:05:17,250 --> 00:05:18,550 läbi oma lint. 115 00:05:18,550 --> 00:05:21,300 Selle tulemusena võid kasutada DEL märgi kustutamiseks 116 00:05:21,300 --> 00:05:22,440 teavet. 117 00:05:22,440 --> 00:05:25,060 Kujutage ette võttes täidetud valimismaratoni hääletamissedeli ja seejärel 118 00:05:25,060 --> 00:05:27,180 mulgustamiseks kõik unpunched augud. 119 00:05:27,180 --> 00:05:29,410 >> Sa kehtetuks hääletamissedeli sest see on võimatu 120 00:05:29,410 --> 00:05:31,820 öelda, mis originaal osalenuist. 121 00:05:31,820 --> 00:05:34,720 Kuigi DEL märk on siiani kasutusel on kaasaegsed 122 00:05:34,720 --> 00:05:37,980 Delete klahvi, null iseloomu tuli kasutada 123 00:05:37,980 --> 00:05:40,010 lõpetamise tegelane C stringid ja 124 00:05:40,010 --> 00:05:41,990 mõned muud andmed vormingutes. 125 00:05:41,990 --> 00:05:45,140 Sa võid teada seda längkriips null iseloomu, 126 00:05:45,140 --> 00:05:47,720 kuna see, kuidas me esindame see kirjalikult. 127 00:05:47,720 --> 00:05:49,580 Nii tagasi meie ASCII tabelis. 128 00:05:49,580 --> 00:05:52,770 Pärast esimese 32 juhtmärke tulema 95 129 00:05:52,770 --> 00:05:54,280 märke. 130 00:05:54,280 --> 00:05:55,800 >> On paar lahe disain otsuseid väärt 131 00:05:55,800 --> 00:05:57,330 siin räägime. 132 00:05:57,330 --> 00:06:00,810 Esiteks, pärast koma märki, null läbi üheksa, 133 00:06:00,810 --> 00:06:04,050 vastavad numbrid 48 kuni 57, mis tundub 134 00:06:04,050 --> 00:06:06,980 tähelepandamatu kuni me vaatame numbreid 48 kuni 57 135 00:06:06,980 --> 00:06:09,080 kirjutatud kahendesituse. 136 00:06:09,080 --> 00:06:11,530 Kui me seda teeme, siis me näeme, et kohaline iseloomu, 137 00:06:11,530 --> 00:06:22,320 null, vastab 0110000, üks kaardid 0110001, kahe kuni 138 00:06:22,320 --> 00:06:26,640 0110010, ja nii edasi. 139 00:06:26,640 --> 00:06:27,950 Vaata muster? 140 00:06:27,950 --> 00:06:30,170 Iga kohaline iseloomu kaardistatakse vastava 141 00:06:30,170 --> 00:06:35,170 samaväärne kahendesituse, eesliide 011. 142 00:06:35,170 --> 00:06:38,820 Järgmisena, märkate, et suurtähed algavad 65, 143 00:06:38,820 --> 00:06:41,310 koos suure algustähega, kuid väiketähti 144 00:06:41,310 --> 00:06:43,010 ei alustata enne 97. 145 00:06:43,010 --> 00:06:45,580 Nii on 32 ruumi vahel. 146 00:06:45,580 --> 00:06:47,000 See tundub imelik. 147 00:06:47,000 --> 00:06:49,500 Nad on vaid 26 tähte tähestikus. 148 00:06:49,500 --> 00:06:51,410 >> Miks jagada neid üles nagu see on? 149 00:06:51,410 --> 00:06:53,960 Jällegi, kui me vaatame binaarne esindused, saame 150 00:06:53,960 --> 00:06:55,230 vaata muster. 151 00:06:55,230 --> 00:07:01,360 Suurtähed esindab 1000001 ja väiketähti ei 152 00:07:01,360 --> 00:07:05,810 esindab 1100001. 153 00:07:05,810 --> 00:07:12,770 Suurtähed B esindab 1000010 ja väiketähti b on 154 00:07:12,770 --> 00:07:17,280 esindab 1100010. 155 00:07:17,280 --> 00:07:19,440 Kas oskate öelda, mis siin toimub? 156 00:07:19,440 --> 00:07:22,470 Natuke see vasakult teine, kahe kuni 157 00:07:22,470 --> 00:07:26,510 viiendikku jaoks 32ths seisukoht on 0 kõigile suur- 158 00:07:26,510 --> 00:07:30,120 kirjad ja 1 kõik väiketähti. 159 00:07:30,120 --> 00:07:33,130 >> See tähendab konverteeriva Suur-ja väiketähtede ning 160 00:07:33,130 --> 00:07:36,000 vastupidi, on asi lihtne natuke klapp. 161 00:07:36,000 --> 00:07:38,380 Nii et toob meid lõpuks ASCII tabelis. 162 00:07:38,380 --> 00:07:40,700 Kas sa arvad, et midagi me oleme unustanud? 163 00:07:40,700 --> 00:07:42,510 Noh, aga hispaania enye või 164 00:07:42,510 --> 00:07:44,630 Kreeka või kirillitsa tähestikku? 165 00:07:44,630 --> 00:07:46,610 Ja kuidas hiina tähtedega? 166 00:07:46,610 --> 00:07:49,050 Seal on palju, mis on välja jäetud ASCII. 167 00:07:49,050 --> 00:07:51,920 Siiski, teine ​​standard nimega Unicode on olnud 168 00:07:51,920 --> 00:07:53,040 arenenud, et katta kõik need 169 00:07:53,040 --> 00:07:54,840 märgid ja palju muud. 170 00:07:54,840 --> 00:07:57,040 >> Aga see on teema veel kord. 171 00:07:57,040 --> 00:07:58,500 Minu nimi on Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 See on CS50.