Was ist binär und warum verwenden Computer es?
Computer verstehen Wörter und Zahlen nicht wie Menschen. Moderne Software ermöglicht es dem Endbenutzer, dies zu ignorieren, aber auf den niedrigsten Ebenen Ihres Computers wird alles durch ein binäres elektrisches Signal dargestellt, das sich in einem von zwei Zuständen registriert: Ein oder Aus. Um komplizierte Daten zu verstehen, muss Ihr Computer diese binär codieren.
Binär ist ein Basis-2-Zahlensystem. Basis 2 bedeutet, dass es nur zwei Ziffern (1 und 0) gibt, die den Ein- und Auszuständen entsprechen, die Ihr Computer verstehen kann. Sie kennen wahrscheinlich das 10er-Dezimalsystem. Für Dezimalstellen werden zehn Ziffern verwendet, die zwischen 0 und 9 liegen, und dann in zweistellige Zahlen umgewandelt, wobei jede Ziffer zehnmal mehr als die letzte ist (1, 10, 100 usw.). Binär ist ähnlich, wobei jede Ziffer doppelt so viel wert ist wie die letzte.
Zählen in binär
Im Binärformat ist die erste Ziffer 1 dezimal. Die zweite Ziffer ist 2, die dritte Zahl 4, die vierte Zahl 8 und so viele Verdoppelungen. Addiert man all diese Werte, erhält man die Dezimalzahl. So,
1111 (binär) = 8 + 4 + 2 + 1 = 15 (dezimal)
Unter Berücksichtigung von 0 ergeben sich 16 mögliche Werte für vier binäre Bits. Gehen Sie zu 8 Bit, und Sie haben 256 mögliche Werte. Dies erfordert viel mehr Platz für die Darstellung, da vier Dezimalstellen 10.000 Werte ergeben. Es scheint, als würden wir all die Mühe machen, unser Zählsystem neu zu erfinden, nur um es klobiger zu machen, aber Computer verstehen Binärcodes viel besser als Dezimalzahlen. Sicher, binär nimmt mehr Platz in Anspruch, aber die Hardware hält uns zurück. Und für einige Dinge, wie z. B. die Logikverarbeitung, ist das Binärformat besser als die Dezimalzahl.
Es gibt ein anderes Basissystem, das auch bei der Programmierung verwendet wird: Hexadezimal. Obwohl Computer nicht hexadezimal ausgeführt werden, verwenden Programmierer es, um beim Schreiben von Code binäre Adressen in einem vom Menschen lesbaren Format darzustellen. Dies liegt daran, dass zwei Ziffern des Hexadezimalwerts ein ganzes Byte darstellen können, acht Ziffern binär. Hexadezimal verwendet 0-9 wie Dezimal, und die Buchstaben A bis F stellen die zusätzlichen sechs Ziffern dar.
Warum verwenden Computer also binär??
Die kurze Antwort: Hardware und die Gesetze der Physik. Jede Zahl in Ihrem Computer ist ein elektrisches Signal, und in den frühen Tagen des Rechnens waren elektrische Signale viel schwieriger zu messen und sehr genau zu steuern. Es war sinnvoller, nur zwischen einem durch negative Ladung dargestellten Ein-Zustand und einem durch eine positive Ladung dargestellten Aus-Zustand zu unterscheiden. Für diejenigen, die nicht sicher sind, warum das „Aus“ durch eine positive Ladung dargestellt wird, liegt dies daran, dass Elektronen eine negative Ladung haben - mehr Elektronen bedeuten mehr Strom mit einer negativen Ladung.
Die frühen Computer mit Raumgröße verwendeten also binäre Systeme, um ihre Systeme aufzubauen, und obwohl sie viel ältere, sperrigere Hardware verwendeten, haben wir dieselben grundlegenden Prinzipien beibehalten. Moderne Computer verwenden einen sogenannten Transistor, um binäre Berechnungen auszuführen. Hier ist ein Diagramm, wie ein Feldeffekttransistor (FET) aussieht:
Im Wesentlichen lässt es nur dann einen Strom von der Source zum Drain fließen, wenn sich im Gate ein Strom befindet. Dies bildet einen binären Schalter. Die Hersteller können diese Transistoren unglaublich klein bauen - bis hinunter auf 5 Nanometer oder etwa zwei DNA-Stränge. So funktionieren moderne CPUs, und selbst sie können unter Problemen leiden, die zwischen Ein- und Aus-Zuständen unterscheiden (obwohl dies hauptsächlich auf ihre unwirkliche Molekülgröße zurückzuführen ist, da sie der Unheimlichkeit der Quantenmechanik unterliegen)..
Warum nur Basis 2??
Sie denken also: „Warum nur 0 und 1? Könnten Sie nicht einfach eine weitere Ziffer hinzufügen? “Obwohl es ein Teil der Tradition in der Konstruktion von Computern ist, bedeutet das Hinzufügen einer anderen Ziffer, dass wir zwischen verschiedenen Stromniveaus unterscheiden müssen - nicht nur„ aus “und„ ein “ ", Sagt aber auch" auf ein bisschen "und" auf viel ".
Das Problem hier ist, wenn Sie mehrere Spannungsniveaus verwenden möchten, müssen Sie einfach Berechnungen mit ihnen durchführen, und die Hardware dafür ist als Ersatz für die binäre Berechnung nicht geeignet. Es existiert tatsächlich; Es wird als ternärer Computer bezeichnet und ist seit den 1950er Jahren auf dem Markt, aber an diesem Punkt hörte die Entwicklung auf. Die ternäre Logik ist viel effizienter als die binäre, aber bis jetzt hat noch niemand einen wirksamen Ersatz für den binären Transistor, oder zumindest wurde keine Arbeit an der Entwicklung derselben mit den gleichen winzigen Maßstäben wie die binäre gemacht.
Der Grund, warum wir keine ternäre Logik verwenden können, liegt in der Art und Weise, wie Transistoren in einem Computer gestapelt werden - etwas, das als "Gates" bezeichnet wird.-und wie sie verwendet werden, um Mathematik auszuführen. Gates nehmen zwei Eingänge, führen eine Operation an diesen aus und geben einen Ausgang zurück.
Das bringt uns zur langen Antwort: Binäre Mathematik ist für Computer viel einfacher als alles andere. Die boolesche Logik kann problemlos binären Systemen zugeordnet werden, wobei True und False durch Ein und Aus dargestellt werden. Gates in Ihrem Computer arbeiten mit boolescher Logik: Sie nehmen zwei Eingaben auf und führen eine Operation wie AND, OR, XOR usw. durch. Zwei Eingänge sind einfach zu verwalten. Wenn Sie die Antworten für jede mögliche Eingabe grafisch darstellen würden, hätten Sie eine sogenannte Wahrheitstabelle:
Eine binäre Wahrheitstabelle, die mit einer booleschen Logik arbeitet, hat vier mögliche Ausgänge für jede grundlegende Operation. Da ternäre Tore jedoch drei Eingaben erfordern, hätte eine ternäre Wahrheitstabelle 9 oder mehr. Während ein binäres System 16 mögliche Operatoren (2 ^ 2 ^ 2) hat, hätte ein ternäres System 19.683 (3 ^ 3 ^ 3). Skalieren wird zu einem Problem, weil Ternary zwar effizienter, aber auch exponentiell komplexer ist.
Wer weiß? In der Zukunft könnten wir feststellen, dass ternäre Computer zu einer Sache werden, wenn wir die Grenzen des Binärbereichs auf eine molekulare Ebene senken. Im Moment wird die Welt jedoch weiterhin binär laufen.
Bildnachweis: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia