1 00:00:07,220 --> 00:00:09,290 [Powered by Google Translate] NATE Hardison: In dem Video auf binär, zeigen wir, wie 2 00:00:09,290 --> 00:00:12,540 Betreiber der Menge der ganzen Zahlen, von Null an aufwärts, 3 00:00:12,540 --> 00:00:15,110 Verwendung nur die Ziffern Null und Eins. 4 00:00:15,110 --> 00:00:17,890 In diesem Video werden wir binärer Schreibweise zu verwenden 5 00:00:17,890 --> 00:00:21,160 stellen Text, Briefe und solche, wie gut. 6 00:00:21,160 --> 00:00:22,810 >> Warum sollten wir die Mühe, dies zu tun? 7 00:00:22,810 --> 00:00:25,450 Nun, unter der Haube, ein Computer nur dann wirklich 8 00:00:25,450 --> 00:00:29,070 versteht Nullen und Einsen, die binären Ziffern, da diese 9 00:00:29,070 --> 00:00:32,100 kann leicht mit elektromagnetischen Dinge dargestellt werden. 10 00:00:32,100 --> 00:00:35,040 >> Zum Beispiel, der Arbeitsspeicher Ihres Computers wie eine lange nachdenken 11 00:00:35,040 --> 00:00:37,810 Reihe von Glühbirnen, wobei jede einzelne Glühbirne 12 00:00:37,810 --> 00:00:40,680 eine Null, wenn es ausgeschaltet ist, und eine Eins 13 00:00:40,680 --> 00:00:42,230 wenn es eingeschaltet ist. 14 00:00:42,230 --> 00:00:44,730 Anstelle der Verwendung von ein paar Glühbirnen, einige moderne 15 00:00:44,730 --> 00:00:46,990 Speicher wird dies mit Kondensatoren, die eine niedrig zu halten 16 00:00:46,990 --> 00:00:49,120 erheben, um eine Null und eine hohe Ladung stellen 17 00:00:49,120 --> 00:00:50,780 eine ein darstellen. 18 00:00:50,780 --> 00:00:52,510 >> Es gibt auch andere Techniken als auch. 19 00:00:52,510 --> 00:00:55,500 Wie auch immer, um etwas zu speichern, müssen wir 20 00:00:55,500 --> 00:00:57,590 erste wandeln es in etwas, das tatsächlich sein kann 21 00:00:57,590 --> 00:01:00,140 vertreten in der physischen Hardware. 22 00:01:00,140 --> 00:01:02,450 Lassen Sie uns also darüber, wie wir könnten Briefe mit zu repräsentieren 23 00:01:02,450 --> 00:01:04,230 binärer Schreibweise. 24 00:01:04,230 --> 00:01:08,141 In Deutsch, wir haben 26 Buchstaben in der alphabetischen, A, 25 00:01:08,141 --> 00:01:12,930 >> B, C, D, und so weiter, bis durch Z. Wir können jedem eine der 26 00:01:12,930 --> 00:01:16,650 diese eine Zahl, sagen Null bis 25, und dann mit 27 00:01:16,650 --> 00:01:18,880 binärer Schreibweise, können wir jede Zahl als stellen 28 00:01:18,880 --> 00:01:20,890 Folge von Nullen und Einsen. 29 00:01:20,890 --> 00:01:22,420 Das ist nicht so schlimm. 30 00:01:22,420 --> 00:01:25,050 Allerdings, das ist nicht genug zu sein. 31 00:01:25,050 --> 00:01:27,680 Mit diesem System können wir nicht wirklich unterscheiden zwischen 32 00:01:27,680 --> 00:01:29,830 Groß-und Kleinbuchstaben. 33 00:01:29,830 --> 00:01:32,140 Wenn wir wollen, dass unsere Computer in der Lage sein zu unterscheiden zwischen 34 00:01:32,140 --> 00:01:36,020 die beiden Fälle, dann brauchen wir eine zusätzliche 26 Zahlen. 35 00:01:36,020 --> 00:01:38,700 Und was Punkte, Kommas und 36 00:01:38,700 --> 00:01:40,390 andere Satzzeichen? 37 00:01:40,390 --> 00:01:43,560 >> Auf meiner Tastatur, habe ich 32 von denen, darunter alle der 38 00:01:43,560 --> 00:01:46,800 Sonderzeichen wie der Einfügemarke und die kaufmännische. 39 00:01:46,800 --> 00:01:49,700 Das ist nicht einschließlich der Ziffern-Zeichen, Null bis Neun, 40 00:01:49,700 --> 00:01:51,840 da wir immer noch in der Lage sein, um Zahlen in dezimaler geben 41 00:01:51,840 --> 00:01:54,840 Vermerk auf dem Computer, auch wenn der Computer nur dann wirklich 42 00:01:54,840 --> 00:01:57,830 versteht binärer Schreibweise unter der Haube. 43 00:01:57,830 --> 00:02:00,620 >> Und schließlich brauchen wir, um ein Leerzeichen stehen, so 44 00:02:00,620 --> 00:02:02,450 dass unsere Space Bar arbeitet. 45 00:02:02,450 --> 00:02:04,920 So herauszufinden, wie man Text auf dem Computer darstellen 46 00:02:04,920 --> 00:02:08,400 dauert ein wenig mehr als wir vielleicht zunächst gedacht haben. 47 00:02:08,400 --> 00:02:11,710 Zusätzlich übernehmen wir dann kommen mit unseren eigenen Kodierung 48 00:02:11,710 --> 00:02:14,560 Regelung zum Zeichen als Zahlen darstellen. 49 00:02:14,560 --> 00:02:17,470 Aber wir entscheiden, zu kodieren Zeichen wird zwangsläufig 50 00:02:17,470 --> 00:02:20,630 willkürlich, wie wir oben gesehen haben, wenn wir über die Verwendung der sprachen 51 00:02:20,630 --> 00:02:23,730 Zahlen Null bis 25, um die Buchstaben stehen für A 52 00:02:23,730 --> 00:02:26,850 durch Z. Warum nicht 10 bis 35, so dass wir sparen 53 00:02:26,850 --> 00:02:29,350 Null bis neun für die Ziffern-Zeichen? 54 00:02:29,350 --> 00:02:31,590 >> Es gibt keinen wirklichen Grund, wir wählten, was schien, 55 00:02:31,590 --> 00:02:33,770 Beste für uns. 56 00:02:33,770 --> 00:02:37,650 Zurück in den frühen 1960er Jahren, war dies ein echtes Problem. 57 00:02:37,650 --> 00:02:39,370 Verschiedene Computer-Hersteller waren mit 58 00:02:39,370 --> 00:02:41,910 unterschiedliche Kodierungsschemata, und das machte die Kommunikation 59 00:02:41,910 --> 00:02:44,340 zwischen verschiedenen Maschinen eine sehr schwierige Aufgabe. 60 00:02:44,340 --> 00:02:47,810 Das American National Standards Institute, ANSI, 61 00:02:47,810 --> 00:02:50,210 einen Ausschuss gebildet, um ein gemeinsames System zu entwickeln. 62 00:02:50,210 --> 00:02:53,780 Und im Jahr 1963, der American Standard Code for Information 63 00:02:53,780 --> 00:02:58,600 Interchange, besser bekannt als ASCII bekannt, war geboren. 64 00:02:58,600 --> 00:03:01,360 >> ASCII wurde als Sieben-Bit-Kodierung, entworfen, 65 00:03:01,360 --> 00:03:03,800 bedeutet, dass jedes Zeichen durch eine Kombination vertreten ist 66 00:03:03,800 --> 00:03:06,070 sieben Nullen und Einsen. 67 00:03:06,070 --> 00:03:09,670 Mit diesen beiden möglichen Werte null oder eins, für jeden 68 00:03:09,670 --> 00:03:14,040 der sieben Bits gibt es zwei der siebten oder 128 69 00:03:14,040 --> 00:03:16,120 Zeichen, die mit dem ASCII-dargestellt werden kann, 70 00:03:16,120 --> 00:03:18,140 Codierschema. 71 00:03:18,140 --> 00:03:21,480 So 128 Zeichen klingt nach einer Menge, nicht wahr? 72 00:03:21,480 --> 00:03:24,180 Nun, daran erinnern, dass es 26 Kleinbuchstaben 73 00:03:24,180 --> 00:03:29,260 Englisch, weitere 26 Großbuchstaben, 10-stellige Zeichen, 74 00:03:29,260 --> 00:03:31,470 32 Satzzeichen und Sonderzeichen, 75 00:03:31,470 --> 00:03:33,430 und ein Leerzeichen. 76 00:03:33,430 --> 00:03:37,050 >> Das bringt uns bei 95, so haben wir noch 33 Zeichen, dass wir 77 00:03:37,050 --> 00:03:38,400 darstellen kann. 78 00:03:38,400 --> 00:03:39,900 >> Also, was bleibt übrig? 79 00:03:39,900 --> 00:03:43,130 Nun, in den Tagen der Entwicklung des ASCII, Fernschreiber 80 00:03:43,130 --> 00:03:45,080 Maschinen, die Schreibmaschinen, die verwendet werden, um, sind 81 00:03:45,080 --> 00:03:48,040 Senden von Nachrichten über ein Netzwerk, waren weit verbreitet. 82 00:03:48,040 --> 00:03:50,030 Und diese Maschinen mussten zusätzliche Zeichen verwendet werden, um 83 00:03:50,030 --> 00:03:52,890 steuern, zum Beispiel, ihnen zu sagen, wenn zum Bewegen der 84 00:03:52,890 --> 00:03:57,620 Druckkopf eine Zeile nach unten, der Zeilenumbruch oder neue Zeile Schlüssel, 85 00:03:57,620 --> 00:04:00,440 wenn sie an den linken Rand, die Zeilenschaltung bewegen, 86 00:04:00,440 --> 00:04:04,890 oder einfach nur Return-Taste, und wenn sie gehen einen Raum, die 87 00:04:04,890 --> 00:04:07,760 Backspace Charakter, und so weiter. 88 00:04:07,760 --> 00:04:10,250 >> Diese Zeichen werden als Steuerzeichen, und sie 89 00:04:10,250 --> 00:04:12,680 bilden den Rest der ASCII-Satz. 90 00:04:12,680 --> 00:04:15,230 Also, wenn wir bei einem ASCII-Tabelle betrachten, sehen wir, dass die erste 91 00:04:15,230 --> 00:04:18,800 32 Nummern, null bis 31, sind für die Steuerung vorbehalten 92 00:04:18,800 --> 00:04:20,200 Zeichen. 93 00:04:20,200 --> 00:04:23,420 Aber wir gerade gesagt, dass es 33 Steuerzeichen. 94 00:04:23,420 --> 00:04:24,780 Was ist das Problem? 95 00:04:24,780 --> 00:04:29,350 Nun, die Zahl Null und 127, die erste und letzte der 96 00:04:29,350 --> 00:04:32,560 ASCII-Zeichensatz, haben spezielle Bitmuster werden alle Nullen und alle 97 00:04:32,560 --> 00:04:34,710 Wieder sind. 98 00:04:34,710 --> 00:04:36,860 >> Die Designer von ASCII beschloss daher, 99 00:04:36,860 --> 00:04:39,610 bewahren Sie diese Zahlen für zusätzliche Sonderzeichen, 100 00:04:39,610 --> 00:04:43,310 nämlich die Null-Zeichen und die DEL Charakter. 101 00:04:43,310 --> 00:04:46,340 Null und DEL wurden Papierstreifen Bearbeitung, die verwendet werden soll 102 00:04:46,340 --> 00:04:48,930 um ein bekanntes Mittel zur Speicherung von Daten sein. 103 00:04:48,930 --> 00:04:51,850 Papierband war buchstäblich nur ein langer Streifen von Papier, und bei 104 00:04:51,850 --> 00:04:53,760 regelmäßigen Abständen auf dem Band, würden Sie schlagen 105 00:04:53,760 --> 00:04:55,430 Löcher, um Daten zu speichern. 106 00:04:55,430 --> 00:04:58,720 In Abhängigkeit von der Breite des Bandes, würde jeder Spalte sein 107 00:04:58,720 --> 00:05:03,186 Lage, fünf, sechs, sieben oder acht Bits unterzubringen. 108 00:05:03,186 --> 00:05:05,930 >> Um ein Null-Bit repräsentieren, du würdest nichts auf dem Band zu tun, würden Sie 109 00:05:05,930 --> 00:05:07,930 einfach nur einen leeren Raum. 110 00:05:07,930 --> 00:05:10,560 Für eine bit, würdest du ein Loch. 111 00:05:10,560 --> 00:05:12,980 Das Null-Zeichen würde einfach einen leeren Spalte, 112 00:05:12,980 --> 00:05:14,480 Angabe aller Nullen. 113 00:05:14,480 --> 00:05:17,250 Und die DEL Charakter würde schlagen eine Spalte voller Löcher 114 00:05:17,250 --> 00:05:18,550 durch Ihre Band. 115 00:05:18,550 --> 00:05:21,300 Dadurch könnten Sie die DEL zu löschende Zeichen 116 00:05:21,300 --> 00:05:22,440 Informationen. 117 00:05:22,440 --> 00:05:25,060 Stellen Sie sich einen ausgefüllten Stimmzettel und dann 118 00:05:25,060 --> 00:05:27,180 Stanz alle ungelochte Löcher. 119 00:05:27,180 --> 00:05:29,410 >> Sie erlischt die Stimmzettel, weil es unmöglich ist 120 00:05:29,410 --> 00:05:31,820 sagen, was die ursprünglichen Stimmen waren. 121 00:05:31,820 --> 00:05:34,720 Während die DEL Charakter noch verwendet wird, ist die moderne 122 00:05:34,720 --> 00:05:37,980 Lösch-Taste, kam das Null-Zeichen, um die verwendet werden 123 00:05:37,980 --> 00:05:40,010 Abschlusszeichen für C-Strings und 124 00:05:40,010 --> 00:05:41,990 einige andere Datenformate. 125 00:05:41,990 --> 00:05:45,140 Man könnte es als backslash Zeichen Null wissen, 126 00:05:45,140 --> 00:05:47,720 denn das ist, wie wir es darstellen schriftlich. 127 00:05:47,720 --> 00:05:49,580 Um unsere ASCII-Tabelle sichern. 128 00:05:49,580 --> 00:05:52,770 Nachdem die ersten 32 Steuerzeichen kommen die 95 129 00:05:52,770 --> 00:05:54,280 druckbare Zeichen. 130 00:05:54,280 --> 00:05:55,800 >> Es gibt ein paar coole Design-Entscheidungen wert 131 00:05:55,800 --> 00:05:57,330 hier reden. 132 00:05:57,330 --> 00:06:00,810 Zunächst werden die Nachkommastelle Zeichen Null bis Neun, 133 00:06:00,810 --> 00:06:04,050 entsprechen den Ziffern 48 bis 57, das scheint 134 00:06:04,050 --> 00:06:06,980 unauffällig, bis wir einen Blick auf die Zahlen 48 bis 57 135 00:06:06,980 --> 00:06:09,080 geschrieben in binärer Schreibweise. 136 00:06:09,080 --> 00:06:11,530 Wenn wir das tun, dann werden wir sehen, dass die Ziffer Charakter, 137 00:06:11,530 --> 00:06:22,320 Null entspricht 0110000, ein Karten zu 0110001, zwei bis 138 00:06:22,320 --> 00:06:26,640 0110010, und so weiter. 139 00:06:26,640 --> 00:06:27,950 Siehe das Muster? 140 00:06:27,950 --> 00:06:30,170 Jede Ziffer Zeichen wird in den entsprechenden kartiert 141 00:06:30,170 --> 00:06:35,170 Gegenwert in binärer Schreibweise, mit 011 vorangestellt. 142 00:06:35,170 --> 00:06:38,820 Next up, bemerken Sie, dass die Großbuchstaben bei 65 beginnen, 143 00:06:38,820 --> 00:06:41,310 mit Großbuchstaben A, aber die Kleinbuchstaben 144 00:06:41,310 --> 00:06:43,010 nicht bis 97 starten. 145 00:06:43,010 --> 00:06:45,580 So gibt es 32 Räume dazwischen. 146 00:06:45,580 --> 00:06:47,000 Das scheint seltsam. 147 00:06:47,000 --> 00:06:49,500 Sie sind nur 26 Buchstaben im Alphabet. 148 00:06:49,500 --> 00:06:51,410 >> Warum aufzuspalten wie diese? 149 00:06:51,410 --> 00:06:53,960 Auch wenn wir an den binären Darstellungen betrachten, können wir 150 00:06:53,960 --> 00:06:55,230 ein Muster erkennen. 151 00:06:55,230 --> 00:07:01,360 Großbuchstaben A durch 1000001 vertreten ist, und Kleinbuchstaben a 152 00:07:01,360 --> 00:07:05,810 vertreten durch 1100001. 153 00:07:05,810 --> 00:07:12,770 Großbuchstaben B wird durch 1000010 vertreten und Kleinbuchstaben b 154 00:07:12,770 --> 00:07:17,280 vertreten durch 1100010. 155 00:07:17,280 --> 00:07:19,440 Können Sie sagen, was ist denn hier los? 156 00:07:19,440 --> 00:07:22,470 Das Bit, das zweite von links, in den beiden ist die 157 00:07:22,470 --> 00:07:26,510 Fünfteln z. 32ths Position ist 0 für alle der Großbuchstabe 158 00:07:26,510 --> 00:07:30,120 Buchstaben und ein für alle der Kleinbuchstaben. 159 00:07:30,120 --> 00:07:33,130 >> Das bedeutet, dass die Umwandlung von Groß-in Kleinbuchstaben, und 160 00:07:33,130 --> 00:07:36,000 umgekehrt, ist eine Frage der einfachen Bit-Flip. 161 00:07:36,000 --> 00:07:38,380 Also das bringt uns zum Ende der ASCII-Tabelle. 162 00:07:38,380 --> 00:07:40,700 Können Sie sich alles, was wir vergessen haben, denken? 163 00:07:40,700 --> 00:07:42,510 Nun, was ist mit dem spanischen Enye oder die 164 00:07:42,510 --> 00:07:44,630 Griechische oder kyrillische Alphabet? 165 00:07:44,630 --> 00:07:46,610 Und wie wäre es mit chinesischen Schriftzeichen? 166 00:07:46,610 --> 00:07:49,050 Es gibt eine Menge, die aus ist der ASCII verlassen. 167 00:07:49,050 --> 00:07:51,920 Allerdings hat ein weiterer Standard namens Unicode gewesen 168 00:07:51,920 --> 00:07:53,040 entwickelt, um all diese abzudecken 169 00:07:53,040 --> 00:07:54,840 Charaktere und viele mehr. 170 00:07:54,840 --> 00:07:57,040 >> Aber das ist ein Thema für eine andere Zeit. 171 00:07:57,040 --> 00:07:58,500 Mein Name ist Nate Hardison. 172 00:07:58,500 --> 00:08:00,650 Dies ist CS50.