Es ist alles 1s und 0s: Wie Computer die physische Welt abbilden

Die Zahl „12“ ist nicht der Wert 12 in einem Eierkarton. Das Wort „Fels“ ist nicht der Fels, dem man draußen begegnet. Stattdessen sind sie lediglich Symbole, die aus einer Sammlung anderer Symbole erstellt wurden und spezifische Konzepte darstellen, die sich gut auf die Welt um uns herum beziehen. Sie sind Werkzeuge, die uns die Fähigkeit geben, die Welt, eine Masse von Materie, in überschaubare Stücke zu zerlegen. Wir verwenden sie nicht, weil sie objektiv „wahr“ sind, sondern weil sie bei der Erreichung unserer Ziele angesichts einer Reihe von körperlichen Einschränkungen nützlich sind.

Im Wesentlichen ist die Verwendung von Binärdateien nicht komplizierter. Nur ein weiteres von Menschenhand geschaffenes System, das geschaffen wurde, um ein Ziel mit bestimmten Einschränkungen zu erreichen.

Bevor wir darüber nachdenken, wie Computer das Binärsystem verwenden, ist es hilfreich, darüber nachzudenken, warum wir das Denary-System verwenden. Unser Ziel ist es, numerische Werte darstellen und diese Werte an andere weitergeben zu können. Wir können uns ein System vorstellen, in dem wir für jede erdenkliche Zahl ein neues Zeichen hatten. Zum Beispiel wäre 156 tatsächlich eine Art schnörkellose Linie mit einem Haken oben, nicht zu verwechseln mit dem Symbol für 38, das durch einen Kreis mit einer Linie über der Oberseite dargestellt würde. Dies wäre die effizienteste Methode zur Darstellung von Werten, da Sie immer nur ein Zeichen gleichzeitig benötigen, um selbst die größten Zahlen darzustellen, anstatt eine Kette von Zeichen. Aber es wäre nicht das praktischste. Stellen Sie sich eine Lehrerin der 1. Klasse vor, die ihre Schüler auf den Unterschied zwischen dem Zeichen, das 1.589 darstellt, und dem Zeichen, das 2.000.478 darstellt, und allen Zeichen dazwischen testet.

Es ist klar, dass es eine Grenze gibt, wie viele Zeichen wir in unserem Darstellungssystem zur Verfügung haben wollen. Was ist also mit dem entgegengesetzten Ende des Spektrums: einem Zählsystem mit einem einzigen verfügbaren Zeichen? Sicher, das ist möglich – zeigen Sie mir jetzt 2.000.478 mit einem Base-1-System. Dies ist natürlich auch unpraktisch.

Plötzlich macht das Base-10-System Sinn, da es nicht das einzige verfügbare numerische System ist, sondern angesichts unseres Bedarfs an Praktikabilität, Eleganz und Effizienz gut passt. Mit nur 10 verfügbaren Zeichen kann ich die Zahl 2.000.478 leicht darstellen, indem ich den numerischen Wert dieser Spalte mit der nächsten Potenz von 10 multipliziere, wie unten gezeigt:

  • 2 x 10⁶= 2.000.000
  • 0 x 10⁵= 0
  • 0 x 10⁴= 0
  • 0 x 103= 0
  • 4 x 102 = 400
  • 7 x 101 = 70
  • 8 x 10⁰ = 8

SUMME = 2.000.478

Was für ein großartiges System zur Darstellung von Werten. Warum verwenden Computer dieses System nicht?

Vom Denar zum Binär

Elektrische Ströme laufen entweder (offen / ein) oder sie sind nicht (geschlossen / aus), was bedeutet, dass uns zwei Wertzeichen zur Verfügung stehen: 1 und 0. Angesichts dieser Einschränkungen können wir dieselbe Methodologie verwenden, mit der wir das Base-10-System ausgewählt haben, um ein Darstellungssystem zu finden, das Computer verwenden können.Da nur zwei Zustände verfügbar sind, um verschiedene Zeichen darzustellen, wäre die einzige andere Alternative zu binär ein Zählsystem. Um den Wert 255 in einem Zählsystem darzustellen, benötigen wir jedoch 255 Ziffern. Das sind 255 „Ein“ -Transistoren, um eine relativ kleine Anzahl darzustellen. Binary benötigt nur 8, um das gleiche Ziel zu erreichen.

Hier ist, wie binary das macht.

Ein Basis-2-System funktioniert ähnlich wie das Basis-10-System, aber anstatt den Wert jeder Spalte mit dem nächsten Vielfachen von 2 zu multiplizieren, werden sie stattdessen mit dem nächsten Vielfachen von 2 multipliziert. Zum Beispiel kann die Binärzahl 10100 in eine Basiszahl 10 übersetzt werden, indem einfach die folgenden berechneten Werte addiert werden:

  • 1 x 2⁴ = 16
  • 0 x 23 = 0
  • 1 x 22 = 4
  • 0 x 21 = 0
  • 0 x 2⁰ = 0

Von Bits zu Bytes

Von hier aus können wir kann beginnen, eine Konvention für die Verwendung dieses numerischen Systems zu erstellen, um die Welt um uns herum auf elektrische Impulse von Ein und Aus abzubilden. Geben wir unseren Zeichen zunächst einen Namen: Binärziffern oder kurz Bits, die kleinste Dateneinheit in einem Computer.

Als nächstes bestimmen wir, wie viele Bits benötigt werden, um einen nicht numerischen Wert wie einen Buchstaben oder ein Sonderzeichen darzustellen. Dieser Prozess ist so konstruiert wie der Prozess der Auswahl eines numerischen Systems zur Darstellung von Werten. Wir haben bestimmte Ziele, bestimmte vorgefertigte Werkzeuge und einen allgemeinen Wunsch nach Eleganz und Effizienz. Es gibt 101 Zeichen auf einer Tastatur, was bedeutet, dass wir 101 binär als Maximalwert darstellen müssen. Es stellt sich heraus, dass 101 in der Basis-10 die Zahl 01100101 in Binärform ist. Das ist eine Grundvoraussetzung von 7 verfügbaren Transistoren, wenn wir jeden Schlüssel einem bestimmten numerischen Wert zuordnen möchten. Aber was ist, wenn es andere Charaktere gibt, die wir darstellen möchten? Mit 7, alle an, repräsentieren wir nur bis zur Zahl 127 in Basis-10. Vielleicht geben Sie uns noch ein bisschen zu arbeiten.

Und somit haben wir Bytes, die Basiseinheit für die Messung von Daten, die mindestens ein einzelnes Zeichen darstellen soll. Wir können nun die Werte von 0-255 (00000000-11111111) darstellen.

Da Computer nur Zahlen verstehen können, wurde der amerikanische Standardcode für den Informationsaustausch (ASCII) eingerichtet, um jedem Zeichen auf der Tastatur einen bestimmten numerischen Wert zuzuweisen, wie unten dargestellt:

Hier ist ein Beispiel, wie Sie den Ausdruck „Hallo Welt!“ in binär:

  • Text: Hallo Welt!
  • ASCII-Zahlen: 072 101 108 108 111 032 087 111 114 108 100 033
  • Binär: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011

Wie Text müssen auch Bilder in Binärdateien konvertiert werden. Wir können Bilder binär darstellen, indem wir ein Bild in ein Pixelraster aufteilen und jede Pixelfarbe in eine Kombination von 3 Farben (Rot, Grün und Blau) aufteilen, die normalerweise als RGB-Wert des Pixels bezeichnet werden. Der Maximalwert, den jede dieser Farben einzeln haben kann, ist 255 und das Minimum ist 0, was bedeutet, dass jeder Farbwert für jedes Pixel durch 1 Byte für insgesamt 3 Byte pro Pixel dargestellt werden kann.

Als Beispiel können wir die schatten des oben gezeigten grünen Pixels an der Stelle (1,0) in RGB und binär unten:

  • RGB-Werte: (6, 250, 7)
  • Binary: 00000110, 11111010, 00000111

Schließlich können wir Tondaten auch binär mit „sampling“ darstellen. Indem wir die Schallwellen eines aufgezeichneten Tons grafisch darstellen und die Werte der Wellenhöhen in regelmäßigen Abständen notieren, können wir diese Werte in Binärwerte konvertieren und diese Schallwelle zu einem späteren Zeitpunkt unter Verwendung dieser Binärwerte neu erstellen.

Zum Beispiel kann die Schallwelle über hat einen Dezimalwert von 8 im Zeitintervall 1 und gibt ihm einen Bytewert von 00001000.

Von Binär zu logisch

Es gibt viele verschiedene Möglichkeiten, Binärdaten zu speichern, einschließlich Lochkarten, magnetisiertem Band, optischen Discs usw. Alle verwenden diese Konvention zur Darstellung von Werten in einem Basis-2-System. Die Welt binär darzustellen, ist jedoch nur die halbe Miete. Die andere Hälfte arbeitet daran. Geben Sie bitweise Operatoren ein.

Bitweise Operatoren arbeiten mit einzelnen Bits und sind die grundlegenden arithmetischen Operationen, die eine CPU verwendet. Jeder bitweise Operator hat einen Satz vorbestimmter Regeln, die bei zwei Eingängen eine bestimmte Ausgabe erzeugen.

Bitweise Operatoren und ihre entsprechenden Ausgänge

Sie können diese Werkzeuge als Teil eines Systems erkennen, das wir lange vor der Entdeckung der Elektrizität verwendet haben: Logik. Während ein bitweiser Operator fremd erscheinen mag, sind sie von logischen Operatoren abgeleitet und wie numerische Systeme verwenden wir logische Operatoren als bitweise Operatoren, weil sie unsere Zwecke effizient und elegant angesichts unserer aktuellen physikalischen Einschränkungen erfüllen.

Unser Ziel ist es, zwei verschiedene Werte zu nehmen, die durch zwei mögliche Zeichen dargestellt werden, und einen neuen Wert gemäß einer Reihe deterministischer Regeln zu erzeugen. Sie können unten sehen, wie sich unser System der Aussagenlogik gut in die Rechenlogik übersetzt:

Denken Sie im Kontext dieses Satzes an den UND-Operator: „Bob aß zu Mittag und Bob ging ins Kino.“ Wenn die erste Aussage wahr und die zweite falsch ist, dann ist der Satz falsch.

T & F = F

Aber wenn die erste Aussage wahr ist und die zweite Aussage wahr ist, dann ist die Aussage wahr.

T & T = T

Was ist mit dem Operator ODER: „Bob aß zu Mittag oder Bob ging ins Kino“. Wenn die erste Aussage wahr und die zweite falsch ist, ist der Satz immer noch wahr.

T v F = T

Aber wenn beide falsch sind, dann ist der Satz falsch.

F v F = F

Ersetzen Sie nun die T’s und F’s durch 1’s und 0’s und wir haben die Bausteine für die Manipulation von binary , um neue Strings von binary und damit neue Darstellungen von Werten zu erstellen. Wir verwenden diese bitweisen Operatoren in Logikgattern, elektronischen Schaltern, die diese Logik verwenden, um neue Werte zu erzeugen. Stellen Sie sich folgendes Szenario vor:

Sie müssen die untere rechte LED in einem Taschenrechner aufleuchten lassen, um die Zahlen anzuzeigen 0, 1, 3, 4, 5, 6, 7, 8, und 9, aber nicht die Nummer 2. Das bedeutet die binären Zahlen 00, 01, 100, 101 110, 111, und 1001, aber nicht 10, müssen ein einzelnes EIN-Signal (1) erzeugen. Um diese elektrischen Signale in ein einzelnes EIN-Signal für diese LED umzuwandeln, können wir 3 ODER Logikgatter und ein NICHT-Logikgatter miteinander verketten, um sicherzustellen, dass diese Werte entweder eine 1 oder eine 0 ergeben. Unten sehen Sie ein Beispiel für die Zahl 7, die binär dargestellt wird (1110), was zu einem einzelnen EIN-Signal führt, wodurch die LED unten rechts aufleuchtet.

Quantum Computing

The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.

Quantum computing attempts to use the „spooky” nature of sub-atomic particles to represent represent data. Es wurde beispielsweise gezeigt, dass Photonen ein scheinbar widersprüchliches Verhalten zeigen und mehrere Zustände gleichzeitig darstellen. Das Multi-State-Verhalten gibt uns zusätzliche Werte, mit denen wir neben dem typischen Ein / Aus, das wir normalerweise bei elektrischen Signalen erhalten, spielen können. Anstatt ein Bit zum Speichern von Daten zu verwenden, verwenden Quantencomputer Qubits, die entweder 1 oder 0 oder beides gleichzeitig sein können.



Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.