1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] Nate Hardison: A videó bináris, megmutatjuk, hogyan kell 2 00:00:09,290 --> 00:00:12,540 képviseli a készlet egész számok, nullától akár, 3 00:00:12,540 --> 00:00:15,110 , csak a számjegy nulla és egy. 4 00:00:15,110 --> 00:00:17,890 Ebben a videóban fogunk használni bináris jelölés 5 00:00:17,890 --> 00:00:21,160 képvisel szöveg, betűk és ilyen, is. 6 00:00:21,160 --> 00:00:22,810 >> Miért tennénk a fáradságot, hogy ezt csinálni? 7 00:00:22,810 --> 00:00:25,450 Nos, a motorháztető alatt, a számítógép csak igazán 8 00:00:25,450 --> 00:00:29,070 megérti nullákkal és egyesekkel, a bináris számjegy, mivel ezek a 9 00:00:29,070 --> 00:00:32,100 leírható könnyen elektromágneses dolgokat. 10 00:00:32,100 --> 00:00:35,040 >> Például, szerintem a számítógép memóriájában, mint egy hosszú 11 00:00:35,040 --> 00:00:37,810 string izzók, ahol minden egyes izzó 12 00:00:37,810 --> 00:00:40,680 jelentése nulla, ha ez ki van kapcsolva, és egy 13 00:00:40,680 --> 00:00:42,230 ha ez be van kapcsolva. 14 00:00:42,230 --> 00:00:44,730 Ahelyett, hogy egy csomó izzók, néhány modern 15 00:00:44,730 --> 00:00:46,990 memóriát ez a kondenzátorokat, hogy tartsa az alacsony 16 00:00:46,990 --> 00:00:49,120 fel, hogy képviselje a nulla és a magas költség 17 00:00:49,120 --> 00:00:50,780 képviseletére egy. 18 00:00:50,780 --> 00:00:52,510 >> Vannak más módszerek is. 19 00:00:52,510 --> 00:00:55,500 Akárhogy is, annak érdekében, hogy a memóriában tárolni bármit, meg kell 20 00:00:55,500 --> 00:00:57,590 1. alakítani valamit, ami lehet valójában 21 00:00:57,590 --> 00:01:00,140 képviselteti magát a fizikai hardver. 22 00:01:00,140 --> 00:01:02,450 Szóval szerintem arról, hogyan jelenthet betűk 23 00:01:02,450 --> 00:01:04,230 bináris jelöléssel. 24 00:01:04,230 --> 00:01:08,141 In English, megvan 26 betű az alfabetikus, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, és így tovább, egészen Z. Meg lehet rendelni minden egyes 26 00:01:12,930 --> 00:01:16,650 ezek egy szám, mondjuk nulla, a 25, és majd a 27 00:01:16,650 --> 00:01:18,880 bináris jelölés, akkor az képviseljen minden számot a 28 00:01:18,880 --> 00:01:20,890 sorozata nullákkal és egyesekkel. 29 00:01:20,890 --> 00:01:22,420 Ez nem olyan rossz. 30 00:01:22,420 --> 00:01:25,050 Azonban, ez nem lesz elég. 31 00:01:25,050 --> 00:01:27,680 Ezzel a rendszerrel nem tudunk valójában megkülönböztetni 32 00:01:27,680 --> 00:01:29,830 felső-és kisbetűket. 33 00:01:29,830 --> 00:01:32,140 Ha azt akarjuk, hogy a számítógép képes legyen megkülönböztetni 34 00:01:32,140 --> 00:01:36,020 a két eset, akkor szükségünk van egy további 26 számokat. 35 00:01:36,020 --> 00:01:38,700 És mi a helyzet időszakok, vessző és 36 00:01:38,700 --> 00:01:40,390 egyéb írásjelek? 37 00:01:40,390 --> 00:01:43,560 >> Az én billentyűzet, kaptam 32 e, beleértve az összes 38 00:01:43,560 --> 00:01:46,800 speciális karaktereket, mint a kalap és a jelet. 39 00:01:46,800 --> 00:01:49,700 Ez nem tartalmazza a számjegy karakterek, nulla a kilenc, 40 00:01:49,700 --> 00:01:51,840 hiszen még mindig szeretné, hogy képes legyen írja számok decimális 41 00:01:51,840 --> 00:01:54,840 jelölés a számítógépen, akkor is, ha a számítógép csak igazán 42 00:01:54,840 --> 00:01:57,830 megérti bináris jelölés a motorháztető alatt. 43 00:01:57,830 --> 00:02:00,620 >> És végül, mi kell, hogy képviselje egy szóköz karakter, így 44 00:02:00,620 --> 00:02:02,450 hogy a Szóköz működik. 45 00:02:02,450 --> 00:02:04,920 Szóval, kitalálni, hogyan, hogy képviselje szöveget a számítógép 46 00:02:04,920 --> 00:02:08,400 vesz egy kicsit több, mint talán gondolta kezdetben. 47 00:02:08,400 --> 00:02:11,710 Továbbá tegyük fel, hogy majd jön a saját kódoló 48 00:02:11,710 --> 00:02:14,560 program képviseletére karaktereket számokat. 49 00:02:14,560 --> 00:02:17,470 Azonban úgy döntünk, hogy kódolni karakter elkerülhetetlenül 50 00:02:17,470 --> 00:02:20,630 önkényes, mint korábban láttuk, amikor beszéltünk a 51 00:02:20,630 --> 00:02:23,730 szám nulla, a 25, hogy képviselje a betűk A 52 00:02:23,730 --> 00:02:26,850 révén Z. Miért nem használjuk 10 és 35, hogy meg tudjuk menteni 53 00:02:26,850 --> 00:02:29,350 nulla keresztül kilenc számjegy karaktereket? 54 00:02:29,350 --> 00:02:31,590 >> Nincs igazi ok, mi csak választottuk, amit úgy tűnt, 55 00:02:31,590 --> 00:02:33,770 a legjobb nekünk. 56 00:02:33,770 --> 00:02:37,650 Vissza a 1960-as évek elején, ez egy valós probléma. 57 00:02:37,650 --> 00:02:39,370 Különböző számítógép-gyártók arra használatával 58 00:02:39,370 --> 00:02:41,910 különböző kódolási rendszerek, és ez tette a kommunikációt 59 00:02:41,910 --> 00:02:44,340 különböző gépek nagyon nehéz feladat. 60 00:02:44,340 --> 00:02:47,810 Az American National Standards Institute, ANSI, 61 00:02:47,810 --> 00:02:50,210 létrehozott egy bizottságot, hogy dolgozzon ki egy közös rendszert. 62 00:02:50,210 --> 00:02:53,780 És 1963-ban, az American Standard Code for Information 63 00:02:53,780 --> 00:02:58,600 Interchange, ismertebb nevén ASCII született. 64 00:02:58,600 --> 00:03:01,360 >> ASCII célja az volt, mint egy 7 bites kódolás, amely 65 00:03:01,360 --> 00:03:03,800 azt jelenti, hogy minden karaktert képviseli kombinációja 66 00:03:03,800 --> 00:03:06,070 hét nullákkal és egyesekkel. 67 00:03:06,070 --> 00:03:09,670 Ezen két lehetséges érték, nulla vagy egy, az egyes 68 00:03:09,670 --> 00:03:14,040 A hét bit, van két, a hetedik vagy 128 69 00:03:14,040 --> 00:03:16,120 karakterek képviseli az ASCII 70 00:03:16,120 --> 00:03:18,140 kódoló rendszer. 71 00:03:18,140 --> 00:03:21,480 Így 128 karakter soknak hangzik, ugye? 72 00:03:21,480 --> 00:03:24,180 Nos, ne feledjük, hogy 26-an vannak a kisbetűk 73 00:03:24,180 --> 00:03:29,260 Angol, további 26 nagybetűkkel, 10 számjegy karakter, 74 00:03:29,260 --> 00:03:31,470 32 Írásjelek és speciális karakterek 75 00:03:31,470 --> 00:03:33,430 és egy szóközt. 76 00:03:33,430 --> 00:03:37,050 >> Ez tesz minket a 95, így már egy 33 karakter, hogy mi 77 00:03:37,050 --> 00:03:38,400 jelenthetnek. 78 00:03:38,400 --> 00:03:39,900 >> Akkor mi marad? 79 00:03:39,900 --> 00:03:43,130 Nos, a napokban fejlődésének ASCII, telex 80 00:03:43,130 --> 00:03:45,080 gépek, amelyek a írógépek, amelyek a 81 00:03:45,080 --> 00:03:48,040 üzenetet küldeni a hálózaton keresztül volt széles körben elterjedt. 82 00:03:48,040 --> 00:03:50,030 És ezek a gépek voltak további karakterek használhatók 83 00:03:50,030 --> 00:03:52,890 szabályozása, például, hogy elmondja nekik, hogy mikor mozog a 84 00:03:52,890 --> 00:03:57,620 nyomtatása fejjel lefelé a vonal, a soremelés vagy új sor gombot, 85 00:03:57,620 --> 00:04:00,440 amikor mozgatni a bal margó, a kocsi vissza, 86 00:04:00,440 --> 00:04:04,890 vagy egyszerűen vissza gombot, és ha vissza kíván lépni egy helyet, az 87 00:04:04,890 --> 00:04:07,760 backspace karaktert, és így tovább. 88 00:04:07,760 --> 00:04:10,250 >> Ezek a karakterek úgynevezett vezérlő karakterek, és ők 89 00:04:10,250 --> 00:04:12,680 alkotják a többi ASCII készlet. 90 00:04:12,680 --> 00:04:15,230 Tehát, ha megnézzük egy ASCII táblázat, azt látjuk, hogy az első 91 00:04:15,230 --> 00:04:18,800 32 számjegy, nulla 31-ig vannak fenntartva, a vezérlő 92 00:04:18,800 --> 00:04:20,200 karakter. 93 00:04:20,200 --> 00:04:23,420 De mi csak azt mondta, hogy nem volt 33 vezérlő karaktereket. 94 00:04:23,420 --> 00:04:24,780 Mi a helyzet? 95 00:04:24,780 --> 00:04:29,350 Nos, a szám nulla és 127, az első és az utolsó a 96 00:04:29,350 --> 00:04:32,560 ASCII készlet, különleges kis minták, minden nullák és minden 97 00:04:32,560 --> 00:04:34,710 is, illetve. 98 00:04:34,710 --> 00:04:36,860 >> A tervezők ASCII ezért úgy határozott, hogy 99 00:04:36,860 --> 00:04:39,610 őrizni ezeket a számokat az extra különleges karaktereket, 100 00:04:39,610 --> 00:04:43,310 nevezetesen a null karakter és a DEL karakter. 101 00:04:43,310 --> 00:04:46,340 Null-és DEL szánták papírszalag szerkesztés, amely korábban 102 00:04:46,340 --> 00:04:48,930 hogy egy közös utat az adattárolásra. 103 00:04:48,930 --> 00:04:51,850 Papír szalag volt szó, csak egy hosszú papírcsíkot, és a 104 00:04:51,850 --> 00:04:53,760 rendszeres időközönként a szalagon, azt ütni 105 00:04:53,760 --> 00:04:55,430 lyukak az adatok tárolására. 106 00:04:55,430 --> 00:04:58,720 Attól függően, hogy a szélessége a szalag, mindegyik oszlop lenne 107 00:04:58,720 --> 00:05:03,186 képes befogadni öt, hat, hét, vagy nyolc bit. 108 00:05:03,186 --> 00:05:05,930 >> Hogy képviselje a nulla kicsit, akkor azt nem tesz semmit, hogy a szalag, azt 109 00:05:05,930 --> 00:05:07,930 hagyja egy üres hely. 110 00:05:07,930 --> 00:05:10,560 Mert egy kicsit, akkor azt ütni egy lyuk. 111 00:05:10,560 --> 00:05:12,980 A null karakter is csak hagyott üres oszlop, 112 00:05:12,980 --> 00:05:14,480 feltüntet minden nullák. 113 00:05:14,480 --> 00:05:17,250 És a DEL karakter fog ütni egy oszlop tele lyukakkal 114 00:05:17,250 --> 00:05:18,550 át a szalagot. 115 00:05:18,550 --> 00:05:21,300 Ennek eredményeként, akkor használja a DEL karakter törlése 116 00:05:21,300 --> 00:05:22,440 információk. 117 00:05:22,440 --> 00:05:25,060 Képzeld el, vesz egy kitöltött választási fordulóban, majd a 118 00:05:25,060 --> 00:05:27,180 lyukasztó minden unpunched lyukak. 119 00:05:27,180 --> 00:05:29,410 >> Ön érvényteleníti a szavazólapot, mert lehetetlen 120 00:05:29,410 --> 00:05:31,820 megmondani, hogy mi az eredeti szavazatok voltak. 121 00:05:31,820 --> 00:05:34,720 Míg a DEL karakter továbbra is használják a modern 122 00:05:34,720 --> 00:05:37,980 Törlés gombot, a null karakter jött használják a 123 00:05:37,980 --> 00:05:40,010 karakter C karakterláncok és 124 00:05:40,010 --> 00:05:41,990 néhány más adatformátumok. 125 00:05:41,990 --> 00:05:45,140 Lehet, hogy tudja, hogy a backslash nulla karakter, 126 00:05:45,140 --> 00:05:47,720 mivel ez hogyan képviselje írásban. 127 00:05:47,720 --> 00:05:49,580 Szóval vissza az ASCII táblában. 128 00:05:49,580 --> 00:05:52,770 Miután az első 32 vezérlő karakterek jönnek a 95 129 00:05:52,770 --> 00:05:54,280 nyomtatható karaktereket. 130 00:05:54,280 --> 00:05:55,800 >> Van egy pár jó tervezési döntések érdemes 131 00:05:55,800 --> 00:05:57,330 beszélünk itt. 132 00:05:57,330 --> 00:06:00,810 Először is, a karakterek decimális számjegy, nulla a kilenc, 133 00:06:00,810 --> 00:06:04,050 megfelelnek a számok 48 keresztül 57, ami úgy tűnik, 134 00:06:04,050 --> 00:06:06,980 jelentéktelen, amíg nézzük a számokat 48 keresztül 57 135 00:06:06,980 --> 00:06:09,080 írt bináris jelöléssel. 136 00:06:09,080 --> 00:06:11,530 Ha ezt tesszük, akkor azt látjuk, hogy a számjegy karakter, 137 00:06:11,530 --> 00:06:22,320 nulla, felel meg 0110000, az egyik térképeket 0110001, két 138 00:06:22,320 --> 00:06:26,640 0110010, és így tovább. 139 00:06:26,640 --> 00:06:27,950 Lásd a mintát? 140 00:06:27,950 --> 00:06:30,170 Minden számjegy karakter van leképezve a megfelelő 141 00:06:30,170 --> 00:06:35,170 egyenértékű bináris jelöléssel előtaggal 011. 142 00:06:35,170 --> 00:06:38,820 Ezután fel, azt veszi észre, hogy a nagybetűs kezdődnek 65, 143 00:06:38,820 --> 00:06:41,310 A nagybetűs A, de a kisbetűk 144 00:06:41,310 --> 00:06:43,010 nem indul el, amíg 97. 145 00:06:43,010 --> 00:06:45,580 Tehát vannak 32 terek között. 146 00:06:45,580 --> 00:06:47,000 Úgy tűnik, ez furcsa. 147 00:06:47,000 --> 00:06:49,500 Ők csak 26 betű az ábécé. 148 00:06:49,500 --> 00:06:51,410 >> Miért szét őket, mint ez? 149 00:06:51,410 --> 00:06:53,960 Ismét, ha megnézzük a bináris ábrázolás, tudjuk 150 00:06:53,960 --> 00:06:55,230 lásd a mintát. 151 00:06:55,230 --> 00:07:01,360 A nagybetűs képviseli 1000001, és a kisbetűs aa 152 00:07:01,360 --> 00:07:05,810 által képviselt 1100001. 153 00:07:05,810 --> 00:07:12,770 Nagybetűs B képviseli 1000010, és a kisbetűs b = 154 00:07:12,770 --> 00:07:17,280 által képviselt 1100010. 155 00:07:17,280 --> 00:07:19,440 Meg tudja mondani, mi folyik itt? 156 00:07:19,440 --> 00:07:22,470 A bit ez a balról a második, a két a 157 00:07:22,470 --> 00:07:26,510 ötöde, a 32ths helyzetben van 0 minden a nagybetűs 158 00:07:26,510 --> 00:07:30,120 leveleket, és 1 minden a kisbetűk. 159 00:07:30,120 --> 00:07:33,130 >> Ez azt jelenti, konvertálás nagybetűk kisbetűssé, és 160 00:07:33,130 --> 00:07:36,000 fordítva, egy kérdés, egy egyszerű bit flip. 161 00:07:36,000 --> 00:07:38,380 Annak érdekében, hogy elvezet minket a végén a ASCII táblázat. 162 00:07:38,380 --> 00:07:40,700 Tudsz valami, amit elfelejtettem? 163 00:07:40,700 --> 00:07:42,510 Nos, mi a helyzet a spanyol enye, vagy a 164 00:07:42,510 --> 00:07:44,630 Görög vagy cirill ábécét? 165 00:07:44,630 --> 00:07:46,610 És mi van a kínai karaktereket? 166 00:07:46,610 --> 00:07:49,050 Van egy csomó, ami kimaradt az ASCII. 167 00:07:49,050 --> 00:07:51,920 Ugyanakkor egy másik szabvány, a Unicode óta 168 00:07:51,920 --> 00:07:53,040 kifejlesztett valamennyi ilyen 169 00:07:53,040 --> 00:07:54,840 karakterek és még sok más. 170 00:07:54,840 --> 00:07:57,040 >> De ez a téma egy másik alkalommal. 171 00:07:57,040 --> 00:07:58,500 A nevem Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Ez CS50.