Warum arbeiten Computer binär?

Hallo,

mich plagt die Frage: warum arbeiten Computer binär? Könnten sie nicht auch trinär arbeiten? Dann würde man doch viel mehr Daten speichern bzw. übertragen können. Was sind die Hindernisse, um die Technik trinär zu machen. Lohnt es sich überhaupt?
Eine andere Frage: Warum sind 1MB nicht 1000kB sondern 1024kB. Normalerweise sollte doch die in der physik übliche Umrechnung gelten - warum nimmt man aber die Zahl 2^10?
Ich hoffe es kann mir jemand erklären…
Danke.

Ajo

Hallo,

das Dezimalsystem stammt von der Fingerzählweise ab: 1 Finger oben = 1, 2 Finger = 2 usw. Das Dezimalsystem kennt also 10 Zustände, das Binärsystem eben zwei. Diese zwei Zustände sind beim Computer „Strom an“ und „Strom aus“.

M.W. hat man sogar mal an dezimalrechnenden Computern gearbeitet, das aber letztlich wieder dran gegeben.

Eine andere Frage: Warum sind 1MB nicht 1000kB sondern 1024kB.
Normalerweise sollte doch die in der physik übliche Umrechnung
gelten - warum nimmt man aber die Zahl 2^10?

Ein Bit kann zwei Zustände annehmen: 0 oder 1. Bei zehn Bit (also wieder auf dezimal getrimmt für uns Gewohnheitstiere) sind das eben 2^10 Zustände, also 1024. Ein Kilobit ist dann also quasi die Vermischung von Dezimal- und Binärsystem, wieder für uns Gewohnheitstiere.

[1 Byte sind 8 Bit]

Das mit den 1024 hat sich dann (unlogischerweise, denn warum sollte ein Kilobyte nicht 1000*8 Bit sein?) auch bei Kilobyte, Megabyte, Gigabyte usw. fortgesetzt, weswegen einige - so auch ich - lieber von KByte, MByte usw. sprechen.

Gruß
Christian

P.S.
An die Spezialisten: Natürlich kann man das präziser erklären, aber dann ist es auch komplizierter und vielleicht auch schlechter verständlich. Wer will, kann das natürlich machen, aber bitte mich nicht anmaulen.

hi,

mich plagt die Frage: warum arbeiten Computer binär?

weil strom nicht ein bisserl fließen kann. er fließt oder er fließt eben nicht.

Könnten
sie nicht auch trinär arbeiten?

sie könnten fuzzy arbeiten. es gäbe dann nicht nur ja und nein sondern auch „ein wenig“, „vielleicht“, „wahrscheinlich“ und „ziemlich sicher“. so ein computer ist viel leistungsstarker als ein normaler, weil er näher an der realität des denkens gebaut ist. wie das technisch umzusetzen ist kann ich dir nicht beantworten. man nennt es neuronales netz.

gruß datafox

Hi!

Die Sache ist ganz einfach: Früher - also ganz am Anfang - gab es durchaus noch „Computer“ mit Dezimalsystem. Schließlich kam v. Neumann auf die Idee, dass ein Computer, der mit einem dualen ( nicht binär! falscher Begriff ) Zahlensystem arbeitet, vergleichsweise einfach zu kostruieren wäre und damit auch auf verhältnismäßig kleinem Raum möglichst viel Information verarbeiten könnte. Insgesamt hat es also enorme Vorteile eine einfache Maschine einer komplizierteren vorzuziehen. Man könnte durchaus Rechner mit Dezimalsystem bauen - auch Transistoren mit Dezimalsystem. Nur müßten die ungleich komplizierter sein und wären damit auch viel größer. Man müßte es dann wohl hinkriegen, die fließende Spannung recht genau zu messen um den Spannungsbereich in 10 Bereiche aufteilen zu können… sehr kompliziert, schlechte Idee - man macht es dual.

Florian

OK - danke - leuchtet mir ein. Mir kommt auch die Idee, dass die Boolsche Algebra nicht mehr richtig funktionieren würde, denn was wäre dann 3 negiert? :smile:
Zu dual/binär:
Binär besagt, dass ein System eindeutig nur zwei Zustände annehmen kann (0 oder 1 »» Boole’sche Algebra)

Dual bedeutet, dass ein System aus zwei Komponenten besteht, z. B. dual head, dual beam… ein Duett eben

Ich seh da keinen großen Unterschied.

Ajo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

danke

danke

Hallo Ajo,

mich plagt die Frage: warum arbeiten Computer binär? Könnten
sie nicht auch trinär arbeiten? Dann würde man doch viel mehr
Daten speichern bzw. übertragen können. Was sind die
Hindernisse, um die Technik trinär zu machen. Lohnt es sich
überhaupt?

Die mechanischen Rechenmaschinen rechneten meist im Dezimalsystem.

Die ersten modernen Computer, wie z.B. die Z1 von Zuse, arbeiteten mit Relais. Mit einem Relais-Kontakt sind zwar 3 Zustände möglich (offen, geschlossen und kaputt) aber nur 2 Zustände sind technisch nutzbar. Durch ein Problem mit einem dieser ersten Relais-Rechner wurde der Begriff „Bug“ (Wanze) geprägt. Eine Wanze wurde in einem Relais-Kontakt eigeklemmt und erzeugte so einen Fehler.

Für sehrkomplexe Simulationen wurden lange Zeit Analog-Rechner eingesetzt, so bis ca in die 70er Jahre. Die „Programmierung“ erfolgte hauptsächlich durch zusammenschalten von Widerständen und Kondensatoren. Für diese Art von Rechnern wurde ursprünglich auch der „Operations-Verstärker“ entwickelt, daher kommt auch sein Name. Analog-Rechner waren damals sehr schnell bei Komplexen Funktionen wie Integrieren und Differenzieren, aber sie waren nicht so genau. Der wohl bekannteste Analog-Rechner ist wohl der Moog-Synthesizer.
Eine Zeitlang wurden auch Hybridrechner, bestehend aus einem Digital- und einem Analog-Rechner gebaut.

Die von dir vorgeschlage Trinär-Technik wird vereinzelt in der Technik verwendet um Anschlüsse bei Ics zu sparen. Meist handelt es sich dabei um Anschlüsse mit welchen der Chip konfiguriert wird. Die drei Möglichkeiten sind dann: mit Masse verbunden, Mit Speisung verbunden und nicht beschaltet.

Seit einigen Jahren wird eine Quad-Technik bei Speicher-Bausteinen angewendet (z.B. von Intel). Intern kennen die Speicherzellen 4 verschiedene Zustände statt nur zweien. Dadurch kann die Speicherdicht beinahe verdoppelt werden. Dies ist aber nur bei Speicherzellen rentabel, bei welchen die Ladung in Kondensatoren gespeichert wird (DRAM und EPROM). Die Speicherzelle bleibt dabei unverändert, aber die Schreib- und Leseverstärker werden aufwändeiger. Da die Schreib- und Leseverstärker nur etwa 10% der benötigten Chipfläche belegen ist das rentabel.

Eine andere Frage: Warum sind 1MB nicht 1000kB sondern 1024kB.
Normalerweise sollte doch die in der physik übliche Umrechnung
gelten - warum nimmt man aber die Zahl 2^10?
Ich hoffe es kann mir jemand erklären…

Bis in die 60er Jahre war es noch durchaus üblich 2^10 als Faktor zu nehmen.
Da technisch aber nur GANZE Bits realisierbar sind wird es sehr schnell mühsam immer hin und her zu rechnen. Du musst dann nur noch die Bitanzahl in 10er Gruppen unterteilen und die Wertigkei von 1 bis 9 Bit kennt man mit der Zeit auswendig.
23 Bit = ???
2^10 * 2^10 * 2^3
= 1K * 1K * 8
= 8 MB, das geht problemlos mit Kopfrechnen
aber bei
1024 * 1024 * 8 = 8’388’608 nehm ich dann den Taschenrechner !!!

Übrigens gibt es eine Konvention, dass
„k“ = 1’000
und
„K“ = 1024 ist.

Bei 10^6 funktioniert das nicht mehr, da „m“ = 10^-3 und „M“ = 10^6 bedeutet.

MfG Peter(TOO)

Hallo,
vielen Dank für die ausführliche Antwort. Eine letzte Frage hab ich noch: 2^23 Bit sind 8 MB? Du meinst Megabit oder?

Ajo

Hallo Ajo,

vielen Dank für die ausführliche Antwort. Eine letzte Frage
hab ich noch: 2^23 Bit sind 8 MB? Du meinst Megabit oder?

Ist Ein Tippfehler, es sollte eigentlich nur „8 M“ heissen !! sorry.

Bit, Byte oder Worte, würde eine Speicherarchitektur vorraussezten, über diesen Punkt habe ich aber keine Aussage gemacht.

MfG Peter(TOO)

Hallo Florian,

v. Neumann auf die Idee, dass ein Computer, der mit einem
dualen ( nicht binär! falscher Begriff ) Zahlensystem

was soll falsch sein an dem Begriff „binär“?

Mit freundlichem Gruß
Martin

Binär ist der falsche Begriff, weil…
Hallo!

was soll falsch sein an dem Begriff „binär“?

Binär bezieht sich auf die Darstellung einer Information. Ein binäres Alfabet besteht nur aus den Symbolen 0 und 1 mit denen jede beliebige Information dargestellt werden kann… also du kannst sowohl Zahlen binär ( mit einem binären Alfabet ) darstellen als auch Namen ( Strings ). Dual bezieht sich aber auf das ZAHLENSYSTEM. Ein duales Zahlensystem kennt nur zwei Zustände - 0 und 1 - und wird deshalb leicht mit dem Begriff „binär“ verwechselt. Bei Ajos Frage ging es um Zahlensysteme - warum man mit einem dualen anstatt einem dezimalen Zahlensystem rechnet. Es gibt eben kein binäres Zahlensystem - nur ein duales :wink: - deswegen ist es hier strenggenommen falsch von binär zu reden. Natürlich weiß jeder was gemeint ist - von daher ist es nicht so tragisch. Ich wollte nur mal darauf hingewiesen haben.

FloC

1 Like

NACHTRAG - Ein Beispiel
Hallo noch mal!

Ich dachte es wird vielleicht deutlich wenn ich einfach mal ein Beispiel gebe!

Zur binären Darstellung:

Wir haben erstmal zwei verschiedene Alfabete:

  1. Binäres Alfabet { 0,1 }
  2. Alfabet der natürlichen Zahlen { 0,1,2,3,4,5,6,7,8,9,10,… }

Das binäre Alfabet hat die Symbole 0 und 1 und das Alfabet der natürlichen Zahlen die Symbole 0 bis unendlich.

Man kann jetzt das Alfabet der natürlichen Zahlen über das binäre Alfabet darstellen - das ist eine BINÄRE DARSTELLUNG von Zahlen:

Man definiert dazu einfach:

natürliche Zahl binäre Symbolkette

0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

So, wenn man jetzt z.B. die Zahl 13 ( natürliche Zahl ) BINÄR DARSTELLEN möchte … sieht das so aus:

00010011

Damit habt ihr nicht gerechnet, oder? Wie kommt’s? Ganz einfach: Die ersten vier binären Symbole sind die 1 ( siehe Tabelle ) und die letzten vier Symbole sind die 3 ( siehe Tabelle ). Ich nehme mal an das ist etwas ganz anderes als ihr erwartet habt - aber genau das ist eine BINÄRE DARSTELLUNG. Das ist etwas völlig anderes als eine duale Darstellung der Zahl 13 - das wäre nämlich:

1101 ( 2^0 + 2^2 + 2^3 )

Das ist eine DUALE DARSTELLUNG der Zahl 13!!! Wie man leicht sieht macht es einen gewaltigen Unterschied, ob man sagt, eine Zahl wird BINÄR oder DUAL dargestellt. Es wird bloß fast immer falsch gemacht - was natürlich nicht tragisch ist, weil jeder weiß was gemeint ist.

FloC

Hallo Florian,

aha, im Sinne Deiner Erklärung, die mir einleuchtet, sind dann also die Begriffe „Binärdatei“ und „binär codierte Dezimalzahl“ (= BCD = binary coded decimal) korrekt (Deine Darstellung der „13“ als „00010011“ war ja nichts anderes als ein Beispiel für eine BCD-Zahl). Daß „binär“ und „dual“ somit tatsächlich etwas verschiedenes ausdrückt, war mir nicht bewußt.

Danke.

Mit freundlichem Gruß
Martin

wegen der Genauigkeit
Hallo Ajo!

Früher als man noch mit Spannungen und Strömen rechnete, also ich messe den Strom der durch zwei Widerstände fließt, deren Wert die Posten meiner Addition ausmachen, und habe somit das Ergebnis (bei konstanter Spannung, versteht sich).
Das Problem war, daß der Aufwand, so genaue Meßgeräte zu bauen, zu justieren, Widerstande, je nach erforderter Genauigkeit bei konstanten Temperaturen gehalten werden mußten, Leitungen Schwankungen unterlagen und somit nie ein 100%ig genaues Ergebnis erzielt werden konnte, beziehungsweise nur unter immensem Aufwand.
0 ist so definiert: Spannungen zwischen 0V und 0.8V
1 ist so definiert: Spannungen zwischen 3.0 und 12V, bzw 7V bei TTL

Das hat den Vorteil, daß Schwankungen in der Spannung, wenn das Signal zum Beispiel über eine lange Strecke transportiert werden soll, völlig egal sind, denn ob da jetzt 3,5V anliegen oder 6V ist schnurz, es wird vom Empfänger als 1 anerkannt.
Wolltest Du die Zahl 125 übertragen, kann es bei Analogmaschinen schon einmal nur 124,5 sein oder noch weniger. Beim binären Zahlensystem kommt immer 125 an.

Ein trinäres Zahlensystem gibt es, ob es je zum Einsatz kam, weiß ich nicht, denkbar sind zwei Varianten 0,1,2 (0V,5V,10V) oder -1,0,1 (-5V,0V,5V), aber es würde lediglich die Anzahl der Leitungen reduzieren, ich kann mir weder Geschwindigkeitssteigerungen, noch sonstige Vorteile (außer Reduktion der Leitungen) dadurch vorstellen.

Grüße

Wolfgang

Hallo !

Vielleicht, weil es zwischen „ja“ und „nein“ nichts einfacheres gibt.

Gruß max

Hallo Wolfgang,

Früher als man noch mit Spannungen und Strömen rechnete, also
ich messe den Strom der durch zwei Widerstände fließt, deren
Wert die Posten meiner Addition ausmachen, und habe somit das
Ergebnis (bei konstanter Spannung, versteht sich).
Das Problem war, daß der Aufwand, so genaue Meßgeräte zu
bauen, zu justieren, Widerstande, je nach erforderter
Genauigkeit bei konstanten Temperaturen gehalten werden
mußten, Leitungen Schwankungen unterlagen und somit nie ein
100%ig genaues Ergebnis erzielt werden konnte, beziehungsweise
nur unter immensem Aufwand.

0 ist so definiert: Spannungen zwischen 0V und 0.8V
1 ist so definiert: Spannungen zwischen 3.0 und 12V, bzw 7V
bei TTL

Bitte, Bitte lass deine Finger von der Hardware:

Standart-TTL hatt eine Betriebsspannung von 5V +/-5%
0 = 0V bis 0.8V
1 = 2.4V bis Betriebsspannung (5V) !!!

CMOS 4’000er Serie:
Betriebsspannung 4.5V bis 15V (Vdd)
0 = 0V bis 0.3*Vdd
1 = 0.7*Vdd bis Vdd

Für fast alle Eingänge von silizium-basierenden IC’s mit einer Betriebsspannung gilt:
kleinste Eingangsspannung = > -0.7V
grösste Eingangsspannung =

Bitte, Bitte lass deine Finger von der Hardware:

Was geht es Dich an, was ich mit meiner Hardware mache? Kümmer’ Du Dich um deine Sachen und laß mich machen was ich will.

Es gibt aber auch noch jenseits von TTL auch DDL und DTL Du Haarspalter!

Hallo!

Mal eben ne kleine Frage nicht direkt zu diesem Thema (was mir aufgefallen ist):

Heißt es wirklich Alfabet ?!
Ist das die neue Rechtschreibung?

Heißt es dann jetzt auch Alfa statt Alpha?
Das ist doch Humbuck. Das können die doch nicht machen. Ich wander aus. :smile:

Tobias

Heißt es wirklich Alfabet ?!

nein. nach alter und neuer rechtschreibung: al ph abet

gruß
ebenfalls tobias