Warum verwenden Computer das binäre Zahlensystem?

15 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Die Frage ist gar nicht so dumm.

Tatsächlich nutzten die ersten Rechner das Dezimalsystem (z.B. Schalter aus der Telefonvermittlungstechnik, mit 10 Zuständen).
Man braucht dazu nur Schaltelemente, die 10 Zustände halten können...

Das waren damals mechanische Schalter, und sie waren in Massen verfügbar.
Später stieg man aber auf Relais (an/aus), Röhren und Transistoren um.

Auch mit Röhren und Transistoren könnte man prinzipiell mehrere Schaltzustände realisieren (einfach z.b. den Spannungsbereich in mehrere Bereiche unterteilen). Allerdings gibt es dann im Übergang (Grenzbereiche) eventuell unsicherheiten, daher müsste man diese Bereiche spreizen um gewisse Toleranzen zuzulassen.
Alles würde recht kompliziert.
Daher werden diese Schalter "in die Sättigung" (Elektroniker wegschauen) gefahren, so daß der lineare Bereich z.B. der Transistoren möglichst nicht (oder nur kurzfristig) durchlaufen wird. Damit sind sie entweder voll schaltend oder voll sperrend und es gibt genügend Spannungsdifferenz zwischen diesen Zuständen um Fehlinterpretationen zu vermeiden. Sie sind damit also zuverlässiger.

Wenn man dann schon bei 1/0 Schaltzuständen ist, liegt es nahe, gleich im Binärsystem zu arbeiten (theoretisch könnte man immer noch 4bits hernehmen, und davon nur die Werte 0-9 nutzen. Auch das gab es eine zeitlang und findet sich heute noch manchmal als BCD Codierung (und ist auch insbesondere für kaufmännische Programme gar nicht so schlecht).
Diese "verschenken" aber nützliche Bits und nutzen den gesamte Wertebereich nicht aus - sind daher eigentlich unökonomisch.
Somit hat sich mehr oder weniger das Binärsystem auch bis auf die dem Programmierer zugänglich Maschinenebene durchgesetzt.

---

Zu Analog:

auch das gab es (und gibt es möglicherweise noch in einigen Labors).
Das waren aus Operationsverstärkern aufgebaute Analogschaltungen, in denen Spannungen als Werte zwischen den Operationen weitergegeben wurden. Das Programm wurde "gesteckt", d.h. es wurden physikalische Verbindungen zwischen den Schaltungen "programmiert".
Damit kann man Differentialgleichungen lösen, Integrale berechnen etc.
Das Problem hierbei war die Genauigkeit: sie waren meist nur auf wenige Stellen genau, und hatten außerdem sehr begrenzte Wertebereiche (typisch: Spannungen von -15 bis +15 Volt, bei ein paar Prozent Genauigkeit.

Ein Abfallprodukt dieser Analogrechner ist der Moog-Analogsynthesizer (und natürlich alle analogen Nachfolger), die genau solche Schaltungen verwenden.


sarahj  09.07.2017, 21:49

danke für's *-chen

0

Das Binär-System ist recht einfach, da es nur an- und aus-Zustand gibt bzw. 0 und 1. Dann sind zwar die Zahlen länger, aber sie sind einfacher für den Computer zu verstehen.
Es ist halt einfacher zu überprüfen ob da z.B. eine Spannung irgendwo drauf liegt, oder nicht.
Während bei anderen Zahlensystem man z.B. mehere Stufen von Spannungen brauchen würde, was komplizierter wäre.

Zunächst einmal: "Computer verwenden das Binärsystem" stimmt in dieser Allgemeinheit nicht. Im Bankenbereich werden Computer eingesetzt, die tatsächlich dezimal rechnen. Dafür gibt es verschiedene Formate:

https://de.wikipedia.org/wiki/BCD

https://de.wikipedia.org/wiki/IEEE_854

https://en.wikipedia.org/wiki/Densely_packed_decimal

Banken fordern diese Formate, um sicherzustellen, dass die Computer genauso runden, wie es der Kaufmann auf dem Papier tut. Strenggenommen ist dafür aber gar keine Dezimaldarstellung nötig, das würde man auch mit Binärzahlen ohne übermäßige Schwierigkeiten hinbekommen.

Außerdem verwenden viele Taschenrechner das Dezimalsystem. Du kannst es selbst nachprüfen, in dem du auf einem Taschenrechner Rechnungen durchführst, die nur ein Dezimalrechner exakt ausführen kann. Beispiel: Teile die Eins ganz oft durch zehn und multipliziere wieder mit 10 bis zur Eins und subtrahiere Eins:

1:10:10:10...:10·10...·10·10·10 - 1

Wenn da nicht null herauskommt, dann ist es kein Dezimalrechner. Wenn doch, dann prüfe entsprechend:

1:2:2:2...:2·2...·2·2·2 - 1

Wenn da nicht null herauskommt, ist es kein Binärrechner.

Da es also dezimal rechnende digitale Computer schon immer gab und noch immer gibt, sind all die Antworten die auf "Strom ein und Strom aus" abstellen, schlicht falsch. (Dazu kommt, dass die Rechner heute fast alle auf "Spannung hoch, Spannung niedrig" basieren.) Man kann auch mit binärer Logik jedes beliebige Stellenwertsystem implementieren.

So, also warum werden die meisten Rechnungen in Computern heute dennoch binär ausgeführt? Ich würde mal sagen: Weil es unter den schnellen Lösungen das allereinfachste ist. Ich meine, unäres Rechnen wäre noch einfacher, aber auch unheimlich langsam und speicherfressend. Binäre Addierer sind ziemlich simpel und lassen noch viel Raum für Optimierungen. Je einfacher Schaltungen, desto weniger Fehler kann man beim Entwurf machen und es spart Platz, Rechenzeit, Strom oder mehreres davon. Wobei ich nicht genau sagen kann, wieviel man da wirklich spart. Die meisten Ressourcen verbrauchen Prozessoren heute mit dem Zwischenspeichern von Ergebnissen (Cache), mit der Verwaltung der Befehle (Pipelines, Superskalarität) und bei den x86-Prozessoren noch mit dem Herumschleppen von Jahrzehnte alten Altlasten. Von daher fallen die Verkomplizierungen mit Dezimalrechnungen vielleicht beim Ressourcenverbrauch nicht ins Gewicht. Aber es bleibt dabei: Binärrechnung ist in jeder Hinsicht das allereinfachste, was man machen kann.

Naja muss ja sein. Prozessoren arbeiten mit transistoren die entweder an oder aus sind. Da macht es auch sinn das binäre Zahlensystem zu verwenden.

Woher ich das weiß:eigene Erfahrung – Privates Hobby

Rechenoperationen wie die Addition lassen sich im Binärsystem viel einfacher realisieren als im Dezimalsystem. Dafür gibt es sehr einfache Grundschaltungen. Suche mal Halbaddierer oder Volladdierer.

Aus der Addition lassen sich alle anderen Rechenoperatioen ableiten.

Für die einfache Rechnung muss man dann aber die Dezimal-Binär-Konvertierung und umgekehrt in Kauf nehmen. Aber auch das ist einfach zu realisieren.

Besser wäre es natürlich, der Mensch würde auch binär rechnen. Wir haben aber nun mal 10 Finger.


Schnurzl42  06.05.2018, 10:56

Ich gehe davon aus, dass wir in Zukunft mal Kontakt mit Zivilisationen haben werden, die nicht das Dezimalsystem verwenden. Wir würden uns dann zur Kommunikation auf ein gemeinsames System einigen müssen und da denke ich, würde man ein auf dem binären System basierendes nehmen, vermutlich Hexadezimal.

1