Grundbasis der CPUs: Wieso nur 0V und 1V bei Spannungswerten und nicht 2,3,4,5 etc?

p4z1f1st

Grand Admiral Special
Mitglied seit
28.04.2003
Beiträge
9.722
Renomée
81
joa, also ich frage mich gerade, wieso eigentlich nicht ma anstatt der "üblichen" Spannungswerten 0V (keine Strom) und 1V (Strom) nicht auch "Spannungsbereiche" wie z.B. 0V, 1V, 2V, etc genommen wird ? (also, Wert0 = 0V / Wert1 = 1V / Wert2 = 2V.....man natürlich auch größere Spannungsbereiche nehmen um mögliche Spannungsschwankungen entgegen zukommen wie z.B. Wert0 = -1V bis 0,5V / Wert1 = 0,8V - 1,3V etc)

also, mir will gerade so auf anhieb nicht genau wieder einfallen wo ich darin die möglichen vorteile sah (in der schule hab ich über nix anderes nachgedacht und jetzt vergess ichs), aber es war irgendwas ziemlich vernünftiges....
 
weil cpu´s intern binärcode nutzen?
da gibts nur an aus.
und im cpu kann man auch nur durch spannung anlegen nen transistor auf an schalten bzw. auf aus.
wobei nennen sich die dinger in der cpu noch transistor oder hab ich mal wieder was durcheinandergewürfelt?
 
nein, eben meine theorie beruht ja auf der "auslösung" (sagen wir ablösung) des binärcodes !

wieso nicht ein tertiärcode oder ein hexagonalcode ? oder gleich ein dekanonaler code ?

bis hin zum Poly-code

wieso nicht transistoren entwickeln, welche auf jeweilige Bereiche anders reagieren....ich schau ma im Roempp nach, welche Elemente da theoretisch in Frage kommen würden, welche unterschiedlich auf verschiedene Spannungen reagieren
 
wir hatten nen alten film in informatik gesehen, es hat sich wohl in den 60ern durchgesetzt, da es technisch von den bauteilen her am einfachsten zu realisieren war. vielleicht würde es jetzt auch anders gehen aber es wär warscheinlich n riesen aufwand, da jede datenverarbeitung darauf beruht(cds oder hdds zb). das müsste wohl alles verändert werden.
 
Also,

es gibt auf dem Gebiet schon Versuche und Theorien, nur auch jede Menge Probleme.
Der Binärcode hat ja grade den Vorteil, daß es nur 2 Verschiedene Zustände gibt,
die immer ganz exakt und einfach unterschieden werden können. Im Grunde bauen alle
höheren Funktionen eines Chips auf einer fundamentalen Fähigkeit des Transistors auf:

2 elektrische Zustände vergleichen, und bei Differenz 0, bei Gleichheit 1 ausgeben.


Diese simple Funktionsweise auf der untersten Ebene ermöglicht ein durch und durch
zuverlässiges und strukturiertes Aufbauen von größeren, komplexeren Funktionen.

Transistoren mit mehreren Schaltzuständen zu bauen ist zwar möglich, aber leidet
an mehreren schweren Mängeln :

Der (Verkabelungs-)Aufwand für jeden weiteren Zustand wächst überproportional.

Der Nutzen nimmt mit jedem weiteren Zustand prozentual immer mehr ab.

Die Transistoren werden anfälliger für Fehler, da sie für mehrere Zustände um
ein vielfaches exakter arbeiten müssen, als nur für 2 Zustände.

Die Grundfunktion des Transistors wird komplexer, wodurch die höheren Funktionen
ebenfalls sehr viel komplizierter und unübersichtlicher zu realisieren wären.

[ApoC]
 
Flash-Speicher nutzen teilweise dieses Prinzip, wobei 2 Bit = 4 Spannungszustände je Zelle abgelegt werden. Bei DRAM und Logik gäbe es da aber viele Probleme.

Allerdings ist es bei der Informationsverarbeitung wesentlich einfacher, pur binär zu arbeiten, da die Signale stark vom Ideal abweichen.
Eine CPU mit 1 V z.B. hat intern low-Pegel von 0 bis geschätzt 0,3 V, und von 0,6 bis 1 V für High. Bei hohen Taktraten sind die Signal am weitesten vom Ideal entfernt, statische Signale in der CPU liegen hingegen fast perfekt am Ideal.

Fazit: für Zwischenwerte sind Digitalschaltungen praktisch ungeeignet.
 
1.) Da gibt es zwei Probleme: Auf der einen Seite kannst du die Spannung nicht so genau bestimmen mit demselben niedrigen Aufwand und auf der anderen Seite kannst du die Spannung auch nicht beliebig steigern, da sonst dein Prozessor ziemlich schnell abraucht.

2.) Die letzten Jahrzehnte hat man sich beschäftigt binäre Transistoren zu entwerfen und weiterzuentwickeln. Wenn man das ändern würde, müsste man wieder fast ganz von vorn anfangen und das würde bedeuten, dass man erst in frühestens 20Jahren so weit ist wie jetzt und dann ist die heutige Entwicklung schon wieder weiter. Sogesehen bräuchte man einige Jahrzehnte, bis die Technologie die ersten Gewinne abwirft. Das kann und will sich eben keiner leisten.

3.) Wenn du innerhalb der üblichen Spannung ein Signal schickst, dass sagen wir einmal 4 mögliche Zustände hat, dann ist es viel schwieriger, es zu transportieren, da es ja diverse Störungen gibt. Da würdest du bei der Übertragung viel langsamer senden müssen, nur damit deine Bits doppelt so groß sind. Wenn du z.B. 10 Zustände speichern wolltest, wäre das denke ich unmöglich, da das Signal nur um max. 5% gestärkt oder geschwächt werden darf, damit das Signal verloren geht und das in so gut wie 100% der Fälle. Sobald mehr als ein Bit von 1.000 sich verändert, ist die Übertragung schon praktisch unmöglich, da du sonst so viele Paritybits bräuchtest, damit du eine fehlerfreie Übertragung garantieren kannst.

4.) Berechnungen sind um ein vieles einfacher durchzuführen, in irgendeinem anderen System. Wenn du z.B. die Multiplikation 13 mal 11 durchführst würde das im dezimalen so aussehen:
13x14
130
52
---
182

Diese Rechnung stellt aber für einen Computer ein Problem dar, da du eine extra Tabelle mit z.B. mit den Ergebnissen 3x4 benötigst, die du seperat abspeicher musst und so die Rechnung mehrere Takte benötigt. Es passiert beim Multiplizieren und addieren auch oft, dass das Ergebnis von z.B. 3x4 nicht auf eine Stelle passt und so auch noch ein Algorithmus zum weiterzählen entwickelt werden muss. Im binären System ist das ganze viel einfacher, da bei der Multiplikation von zwei Binärzahlen kein Übertrag entstehen kann. Du brauchst die zwei Binärzahlen nur verunden: 0x0=0 0x1=0 1x0=0 1x1=1. Das vereinfacht das ganze enorm, da die Teilmultiplikationen auf einmal durchgeführt werden können und eine Verundung eine der einfachsten Operationen darstellt. Binär würde das ganze so aussehen:
1101x1110
1101
1101
1101
0000
-------
10110110=182
Das sieht zwar optisch länger aus, aber für den Computer ist es wesentlich kürzer, da das verunden praktisch keine Zeit in Anspruch nimmt und die Addition am Schluss auch viel kürzer ist, da auch einfachste Algorithmen verwendet werden können. Das will ich auch noch einmal als Beispiel anführen:
Wenn du die beiden Ziffern 7 und 5 addieren willst, dann ist das für den Rechner ein ungeheurer Aufwand, da auch hier das Ergebnis in einer Tabelle zwischengespeichert werden muss. Bei einer binären Addition ist dies hingegen viel einfacher:
Du hast hier nur folgende ganz einfache Berechnung durchzuführen:
Ergebnis=(A UND nichtB)oder(nichtA UND B). Das wird auch als XOR oder exclusives ODER bezeichnet. Dieser logische Ausdruck kann noch vereinfacht werden, aber ich weiß leider nicht wie.
Übertrag=A UND B Das ist wieder eine sehr einfache Rechenoperation und man hat durch diese und obige Rechnung schon eine Stelle berechnet. Das nennt sich Halbaddierer. Man muss nur noch ein paar dieser kombinieren und hat schon das richtige Ergebnis. Bei der Division ist der Unterschied binär-dezimal noch um einiges gewaltiger, obwohl eine Division auch binär eher länger dauert und man sollte in Programmen immer statt a=b/2 a=b*0,5 schreiben, sofern a und b Fließkommazahlen sind, damit man Leistung spart. Wenn man dieses Codestück nur einmal ausführt ist es ziemlich egal, aber wenn dies sehr oft in einer Schleife geschieht, ist der Unterschied schon deutlich spürbar. Die Division erkläre ich aber jetzt nicht mehr, da das zu lange dauern würde.
 
Wie hier schon gesagt wurde, wäre der Aufwand einfach zu hoch.

Mit einem einzelnen Transistor kann man sofort zwischen 0 und 1 umschalten. Will man mehrere Spannungen unterscheiden bräuchte man zb. sowas wie den Schmitt-Trigger, der allerdings schon deutlich komplexer aufgebaut ist - den müsste man mit einem weiteren Transistor kombinieren und wir haben derer dann 3.

Das ist aber viel zu langsam, und vor allem viel zu ungenau - man hat die Sache nämlich schon so weit wie möglich ausgereizt. Taktflanken sind heute alles andere als Rechteckig.

Code:
So sollte eine Taktflanke aussehen:

_|-|_|-|_|-|_ usw.

Freuen würde man sich heute, wenn eine Taktflanke wenigstens so aussähe:

/\/\/\/\/\/\/\

Aber die Dinger sehen leider viel mehr wie Kombinationen von Sinuskurven mit Nachschwingungen aus, als Mensch wundert man sich da manchmal schon, wie man daraus noch was eindeutiges ablesen soll.

Bei mehreren Zuständen müsste man den Takt soweit reduzieren, dass es sich wie gesagt einfach nicht lohnen würde.

Dann müsste man noch alle logischen Operationen neu definieren - die werden dann nämlich sinnlos, aber genau darauf baut ein Rechner maßgeblich auf.
 
Mal was zum Thema...

0V sind kein spezifizierter Zustand und auch nicht von der Hardware verarbeitbar!

Dieses Kein Strom - Strom Prinzip soll im Endeeffekt nur ein Grundprizip einfach darstellen.

In wirklichkeit haben wir einen High(H) und einen Low(L) Zustand, auch Pegel genannt, diese Pegel bestehen aus 3 Bereichen Bsp. 1,5V Prozessoren dort wird der H pegel bei 1,2-1,5V liegen und als H also als 1 interpretiert und wir haben einen L Zustand der bei 0,3-0,5V liegen dürfte und als "logische" 0 interpretiert wird, der bereich dazwischen hatte auch einen Namen(müsst ich nachschauen :-) ) das wäre ein Tilt(nenne das mal so) Bereich in dem die Pegel lauf Spezifikation nicht liegen dürfen da sie nicht interpretiert werden können, resultat dürfte ein Fehler sein, 0V ließe sich physikalisch nicht realisieren, warum? man würde die Hardware so zusagen einfach stromlos schlaten, ohne Strom kann sie aber nicht aber und speichern könnte man das ganze auch nicht, ein transistor würde ohne Strom einfach keinen Ladungszustand annehmen, er wäre also leer und damit nicht in betrieb!

L=0
H=1 dann kommt der allseitz bekannt ASCII oder UNI-Code zum tragen in dem für jedes Bitmuster bestehend aus 8Bit=1Byte die entsprechenden zeichen hinterlegt sind.

Ein trinärer Code, ähnlich dem Manchester Code bei ISDN hat einen physikalischen 0 Zustand nämlich dann wenn Stille übertragen wird, die negativen werte ca. -1V - -3V dienen Steuerinformationen und die positive sind die Sprachinformationen...bloss bei einer CPU macht das so keinen Sinn.


@Intelhasser

der code schaut eigentlich so aus /-\ , deine Ideallvariante /\ würde eine zeitliche Synchronisation nicht möglich machen, das |-|_|-| ist schon eine Idealvorstellung!

so schauts wirklich aus _/-\_/-\_ mal mit einfach mittel dargestellt die schrägstriche sehen dabei eher noch parabellförmig aus!
 
Zuletzt bearbeitet:
Das /\ war doch auch keine Idealvorstellung, sondern selbst darüber würde man sich schon freuen.

Die Spitzen sind dabei im oberen High Bereich und die Tiefen im unteren Low Bereich - damit würde sich Interpretationsmäßig sowas hier ergeben: _#-#_#- wobei die # die dann die nicht interpretierbaren Zustände sind (treten nur "zwischen" den Takten auf, sonst käme ja Blödsinn raus).

Das Taktsignal ist eben alles andere als eine Rechteckspannung. Ich hab die Bilder leider nicht mehr, aber vll spuckt Google da auch was aus - die "normalen" Taktflanken sehen wirklich Hirnrissig aus.
 
im elektronik-kompendium findest du dir Bilder dazu! aber das man sich über eine Dreieckspannung schon freuen würde kann ich mir nir so recht vrostellen, da man doch dann überhaupt keine Möglichkeit mehr hat die Komponenten zu synchronisieren und eine Bitfolge voranzusetzen die das ganze übernimmt kostet Leistung!
 
Das ganz eLäuft ja auf analogverarbeitung mit all ihren Vor- und Nachteilen hin.
Digital: 2 zustände = 1 bit
analog: viele Zustände (theoretisch unendlich)
und das Prinzip mit 2-4 spannungen was der Thread Starter vorschlug ist ja ein Hybrid der beiden. Mit beiden Nachteilen.

digital Nachteil: geringe Übertragungsrate (sieht man bei Filmanschauen über Internet)
vorteil: gute Signalerkennung (eine 0 wird zu 99.99999999999999....9999 immer als 0 erkannt.

analog Nachteil: Schlechte signalerkennung (eine 5,764 V ist auch schnell mal 6,34 V wenn man das über weite strecken überträgt)
Vorteil: hohe Übertragungsrate (TV bilder werden mit 1930er Jahre Technik übertragen, digital ist das erst jetzt möglich und aufwendig/teuer)

Im PC ist die Übertragungsrate digital doch recht hoch (3,2 GB/s zw NB und SB z.B.... das wäre genug für Filme in real Time) und somit ist analog mit all den Nachteilen unnötig. außerdem ist analog teurer..... Slebst wenn es diese "Transistoren" mit versch. Schaltzuständen gäbe... die wären in der Herstellung 1000 mal teurer. Und as bei zig Transis in einer CPU...
 
Das Problem ist, dass man mit mehr als 2 Zuständen die ganze Logik allgemeiner gestalten muss. Bei der Multiplikation braucht man z.B. nur Verunden statt die Ergebnisse zwischenzuspeichern und Übertrag gibt es auch keinen. Bei der Subtraktion muss z.B. ein Wert gekippt werden. Das heißt alle Nullen werden zu Einsen und umgekehrt. Hier braucht man nur negieren. Bei mehr als 2 Zuständen müsste man wieder rechnen. Bie der Division braucht man mit 2 Zuständen nur einen Vergleich machen (größer oder kleiner) und kann dann schon sagen, ob an die Stelle ein 0er oder ein 1er hingehört. Bei mehr Zuständen müsste man einmal probieren, multiplizieren, vergleichen und dann womöglich wieder rechnen und das alleine schon bei 3 Zuständen. Damit man dieses Problem allein ausgleicht, muss man so viele Zustände machen (ich schätze einmal mindestens 1.000.000), dass man nie für eine gesicherte Übertragung kommt. Manche werden sich wohl fragen, wie ich auf so eine hohe Zahl komme. Hier muss man aber bedenken, dass man mit 1 Mio. Zuständen gerade einmal 20Bit unterbringen könnte und es ist sicher einfacher, 20 Bits mit ganz primitiven Aktionen zu bearbeiten, als 1 Bit mit einer riesigen Logik. Wie Multipliziert man denn so eine Stelle? Zwischenspeichern kann man da nichts mehr, da man für jede Kombination einen Wert bräuchte, was insgesamt 1Billion ausmachen würde (ca. 2,5 Terabyte). Hier ist die einzige Möglichkeit, dass man wieder Zwischenrechnungen macht, aber dann wäre man erst wieder beim Binären System und es würde nichts bringen. Am ehesten würde das ganze noch in LAN-Systemen funktionieren, wenn man nichts berechnet, sondern nur Daten austauscht, aber auch hier müsste man mit der Übertragungsrate wegen der höheren Störanfälligkeit so weit runter gehen, dass man schon wieder weit langsamer wäre.
 
@andr_gin

Du hast schon eine paar -- ähm -- skurile Ansichten.

> 1.) Da gibt es zwei Probleme: Auf der einen Seite kannst du die Spannung nicht so genau bestimmen mit demselben niedrigen Aufwand und auf der anderen Seite kannst du die Spannung auch nicht beliebig steigern, da sonst dein Prozessor ziemlich schnell abraucht.

Diese Dinge begrenzen höchstens die Leistungsfähigkeit eines "Nicht-Digital"-Rechners, haben aber keinen Einfluss auf das Prinzip. BTW. Es gibt u.U. gar nicht die Notwendigkeit Spannungen zu ermitteln ;-)

>2.) Die letzten Jahrzehnte hat man sich beschäftigt binäre Transistoren zu entwerfen

Es gibt keine binären Transistoren! Alle Transistoren haben prinzipiell die gleiche Kennlinie. Nur weil man im binären Fall den Transistor als 0/1 Schalter misbraucht sind die Transistoren selber noch lange nicht auf diese Eigenschaft festgelegt!!!

> 3.) Wenn du innerhalb der üblichen Spannung ein Signal schickst, dass sagen wir einmal 4 mögliche Zustände hat, dann ist es viel schwieriger, es zu transportieren, da es ja diverse Störungen gibt. Da würdest du bei der Übertragung viel langsamer senden müssen, nur damit deine Bits doppelt so groß sind.

Nicht notwendigerweise. Die Grenzen des möglichen hängen vom Übertragungskannal und vom Übertragungssystem ab. Siehe auch Shannon.

> Wenn du z.B. 10 Zustände speichern wolltest, wäre das denke ich unmöglich, da das Signal nur um max. 5% gestärkt oder geschwächt werden darf, damit das Signal verloren geht und das in so gut wie 100% der Fälle.

Was du beschreibst sind die Probleme die entstehen wenn Daten unmoduliert übertragen werden. Innerhalb eines Rechners spielen diese Effekte aber (noch) keine Rolle. Übertragunssysteme die größere Entfernungen überbrücken arbeiten aber immer Moduliert (z.B. Modem, WLAN, etc.). Im Prinzip ist es nur eine Frage der Kodierung.

> Sobald mehr als ein Bit von 1.000 sich verändert, ist die Übertragung schon praktisch unmöglich, da du sonst so viele Paritybits bräuchtest, damit du eine fehlerfreie Übertragung garantieren kannst.

Ob du nun die Redundanz in die Kodierung oder direkt in den Daten als zusätzliche "Parity" Information packst ist doch nur eine Frage der Anwendung.

> [Multiplikation] Diese Rechnung stellt aber für einen Computer ein Problem dar, da du eine extra Tabelle mit z.B. mit den Ergebnissen 3x4 benötigst, die du seperat abspeicher musst und so die Rechnung mehrere Takte benötigt.

Das ist ausschlieslich eine Frage der Implementation. Eine einstellige Multiplikationstabelle hat im Binärsystem 4 (2x2) Einträge und im Dezimal-System 100 (10x10) Einträge. Das Und-Gatter implementiert Zufälligerweise genau diese Tabelle! Genauso gut könnte man eine Schaltung entwerfen die das dezimale Pendent zu einem Und-Gatter ist. BTW. die meisten Digitalrechner brauchen auch heute mehr als einen Taktzyklus für eine Multiplikation.

> Es passiert beim Multiplizieren und addieren auch oft, dass das Ergebnis von z.B. 3x4 nicht auf eine Stelle passt und so auch noch ein Algorithmus zum weiterzählen entwickelt werden muss.

Sowas läst sich auch in höherwerigen Systemen Vermeiden. Grundlage dafür ist der
Chinesische Restsatz (Stichwort Modular-Arithmetik).

> Bei der Multiplikation braucht man z.B. nur Verunden statt die Ergebnisse zwischenzuspeichern und Übertrag gibt es auch keinen.

So, das wär mir neu? Du kannst zwar zwei Binärziffern ohne Überlauf multiplizieren, aber bei Binärzahlen mit mehr als einem Bit Länge kommen dennoch noch Überträge zustande!

> Bei mehr als 2 Zuständen müsste man wieder rechnen.

Das ist doch bei Binärlogik nicht anders! Der Unterschied ist nur eine Frage des Aufwands.

> Bie der Division braucht man mit 2 Zuständen nur einen Vergleich machen (größer oder kleiner) und kann dann schon sagen, ob an die Stelle ein 0er oder ein 1er hingehört. Bei mehr Zuständen müsste man einmal probieren, multiplizieren, vergleichen und dann womöglich wieder rechnen und das alleine schon bei 3 Zuständen.

Das ist eine Frage des Divisionsalgorithmus -- es gibt noch andere ausser Shift & Subtract. Vorteil einen Höherwertigen Systems ist jedenfals das pro Ziffer auch mehr Bit an Information verarbeitet werden.

> Damit man dieses Problem allein ausgleicht, muss man so viele Zustände machen (ich schätze einmal mindestens 1.000.000), dass man nie für eine gesicherte Übertragung kommt....

??? Ab da versteh nur noch Bahnhof

P.S. Links (Achtung stark Mathe lastig!)
http://www.educeth.ch/informatik/interaktiv/crt/docs/crt.pdf
http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf
 
Zuletzt bearbeitet:
Original geschrieben von HenryWince
@andr_gin

Du hast schon eine paar -- ähm -- skurile Ansichten.

> 1.) Da gibt es zwei Probleme: Auf der einen Seite kannst du die Spannung nicht so genau bestimmen mit demselben niedrigen Aufwand und auf der anderen Seite kannst du die Spannung auch nicht beliebig steigern, da sonst dein Prozessor ziemlich schnell abraucht.

Diese Dinge begrenzen höchstens die Leistungsfähigkeit eines "Nicht-Digital"-Rechners, haben aber keinen Einfluss auf das Prinzip. BTW. Es gibt u.U. gar nicht die Notwendigkeit Spannungen zu ermitteln ;-)

>2.) Die letzten Jahrzehnte hat man sich beschäftigt binäre Transistoren zu entwerfen

Es gibt keine binären Transistoren! Alle Transistoren haben prinzipiell die gleiche Kennlinie. Nur weil man im binären Fall den Transistor als 0/1 Schalter misbraucht sind die Transistoren selber noch lange nicht auf diese Eigenschaft festgelegt!!!

> 3.) Wenn du innerhalb der üblichen Spannung ein Signal schickst, dass sagen wir einmal 4 mögliche Zustände hat, dann ist es viel schwieriger, es zu transportieren, da es ja diverse Störungen gibt. Da würdest du bei der Übertragung viel langsamer senden müssen, nur damit deine Bits doppelt so groß sind.

Nicht notwendigerweise. Die Grenzen des möglichen hängen vom Übertragungskannal und vom Übertragungssystem ab. Siehe auch Shannon.

> 4.) Wenn du z.B. 10 Zustände speichern wolltest, wäre das denke ich unmöglich, da das Signal nur um max. 5% gestärkt oder geschwächt werden darf, damit das Signal verloren geht und das in so gut wie 100% der Fälle.

Was du beschreibst sind die Probleme die entstehen wenn Daten unmoduliert übertragen werden. Innerhalb eines Rechners spielen diese Effekte aber (noch) keine Rolle. Übertragunssysteme die größere Entfernungen überbrücken arbeiten aber immer Moduliert (z.B. Modem, WLAN, etc.). Im Prinzip ist es nur eine Frage der Kodierung.

> 5.) Sobald mehr als ein Bit von 1.000 sich verändert, ist die Übertragung schon praktisch unmöglich, da du sonst so viele Paritybits bräuchtest, damit du eine fehlerfreie Übertragung garantieren kannst.

Ob du nun die Redundanz in die Kodierung oder direkt in den Daten als zusätzliche "Parity" Information packst ist doch nur eine Frage der Anwendung.

> 6.) [Multiplikation] Diese Rechnung stellt aber für einen Computer ein Problem dar, da du eine extra Tabelle mit z.B. mit den Ergebnissen 3x4 benötigst, die du seperat abspeicher musst und so die Rechnung mehrere Takte benötigt.

Das ist ausschlieslich eine Frage der Implementation. Eine einstellige Multiplikationstabelle hat im Binärsystem 4 (2x2) Einträge und im Dezimal-System 100 (10x10) Einträge. Das Und-Gatter implementiert Zufälligerweise genau diese Tabelle! Genauso gut könnte man eine Schaltung entwerfen die das dezimale Pendent zu einem Und-Gatter ist. BTW. die meisten Digitalrechner brauchen auch heute mehr als einen Taktzyklus für eine Multiplikation.

> 7.) Es passiert beim Multiplizieren und addieren auch oft, dass das Ergebnis von z.B. 3x4 nicht auf eine Stelle passt und so auch noch ein Algorithmus zum weiterzählen entwickelt werden muss.

Sowas läst sich auch in höherwerigen Systemen Vermeiden. Grundlage dafür ist der
Chinesische Restsatz (Stichwort Modular-Arithmetik).

> 8.) Bei der Multiplikation braucht man z.B. nur Verunden statt die Ergebnisse zwischenzuspeichern und Übertrag gibt es auch keinen.

So, das wär mir neu? Du kannst zwar zwei Binärziffern ohne Überlauf multiplizieren, aber bei Binärzahlen mit mehr als einem Bit Länge kommen dennoch noch Überträge zustande!

> 9.) Bei mehr als 2 Zuständen müsste man wieder rechnen.

Das ist doch bei Binärlogik nicht anders! Der Unterschied ist nur eine Frage des Aufwands.

> 10.) Bie der Division braucht man mit 2 Zuständen nur einen Vergleich machen (größer oder kleiner) und kann dann schon sagen, ob an die Stelle ein 0er oder ein 1er hingehört. Bei mehr Zuständen müsste man einmal probieren, multiplizieren, vergleichen und dann womöglich wieder rechnen und das alleine schon bei 3 Zuständen.

Das ist eine Frage des Divisionsalgorithmus -- es gibt noch andere ausser Shift & Subtract. Vorteil einen Höherwertigen Systems ist jedenfals das pro Ziffer auch mehr Bit an Information verarbeitet werden.

> 11.) Damit man dieses Problem allein ausgleicht, muss man so viele Zustände machen (ich schätze einmal mindestens 1.000.000), dass man nie für eine gesicherte Übertragung kommt....

??? Ab da versteh nur noch Bahnhof

P.S. Links (Achtung stark Mathe lastig!)
http://www.educeth.ch/informatik/interaktiv/crt/docs/crt.pdf
http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf

1.) Du kannst einen Rechner nur Digital (mit begrenzter Anzahl an Zuständen) und nicht Analog (unendliche Anzahl von Zuständen) bauen, da mit der analogen Methode immer eine gewisse Messungenauigkeit dabei ist, was bei der Datenübertragung tödlich ist. Wenn du z.B. die Temperatur abliest, spielt es keine Rolle, ob du dich da um ein Grad vertust, weil das Termometer nicht so genau geht, aber beim Computer muss eben jeder Wert 100%ig derselbe sein, denn sonst kann nichts funktionieren. Was würdest du sagen, wenn in deinem Worddokument der ASCII-Code immer um 1-2 verschieden ist. Da kannst du dann nichts mehr lesen. Gerade diese Messungenauigkeit ist es, die die Probleme verursacht und je genauer die Messung ist, desto aufwendiger und desto langsamer wird die Schaltung funktionieren.

2.) Die Transistoren kann man grundsätzlich auch anders einsetzen nur sind eben diese Transistoren, die eben heutzutage mit 90nm bzw. 130nm gefertigt werden nicht in der Lage mehr als zwei Zustände zu verarbeiten und es wäre eine Riesenarbeit, diese Fertigung umzustellen. Bis man das so weit in den Griff bekommen hat wird es noch sehr lange dauern.

3.) Das ist klar. Wenn du ein besseres Medium nimmst, kannst du mehr hindurchschicken, aber im gleichen Medium gehen eben bei erhöhter Anzahl an Zuständen nur viel weniger Daten durch, da die Schwankungen nur viel geringer ausfallen dürften.

4.) Wenn du es modulierst musst du bei mehreren Zuständen doch die Frequenz erhöhen oder die Frequenz genauer festlegen, wo wir wieder bei dem Problem mit dem Messfehler wären. In einem Rechner spielt das ganze sehr wohl eine Rolle. Registered RAM wird z.B. zur Verstärkung eingesetzt. Wenn das ganze im Computer keine Rolle spielen würde, warum baut man dann registered RAM?

5.) Klar, aber es muss ein gewisser Prozentsatz an Redundanz vorhanden sein. Je mehr die Fehleranfälligkeit steigt, desto mehr muss diese Redundanz sein und desto weniger Daten kannst du jetzt übertragen, ob jetzt binär oder z.B. im 10er System. Ab einem gewissen Punkt ist es einfach nicht mehr sinnvoll überhaupt eine Übertragung zu machen, da du sonst soviel von deiner Kapazität für Fehlerkorrekturen opfern musst, dass das ganze sehr stark gebremst wird. Du musst eben zu 100% garantieren können, dass kein Fehler auftritt.

6.) Es lassen sich sicher logische Schaltungen entwerfen, die einem 10x10er UND-Gatter (ich nenne es jetzt einmal so) entsprechen, aber ich behaupte, dass diese Schaltung sehr viel komplizierter sein wird. Ein normales UND-Gatter besteht einfach aus zwei in Serie geschalteten Transistoren. Das ist so ziemlich das primitivste, was es gibt. Bei einer Rechnung im binärsystem brauchst du ca. 3 Mal so viel Bits, wie im 10er System und ich behaupte einmal, dass das 10x10er UND mit Sicherheit mehr als 3Mal so kompliziert sein wird bzw. 3 Mal so viele Transistoren enthält.

7.) Sorry, dass ich mir diesen Chinesischen Satz nicht bis zum Ende durchgelesen habe, aber das übersteigt mein ein wenig mein mathematisches Wissen.

8.) Es kommt zwar ein Übertrag zu Stande, aber erst zum Schluss beim zusammenaddieren der einzelnen Stellen. Bis dahin kann alles unabhängig voneinander ausgeführt werden. Der Übertrag zum Schluss bleibt einem übrigens auch bei einem 10er System nicht erspart.

9.) Bei Binärlogik kann ich sowas mit einfachen logischen Schaltungen lösen und ich würde ein UND-Gatter nicht unbedingt als große Rechnerei bezeichen.

10.) Ja, aber mir ist auf jeden Fall kein Algorithmus bekannt, der hier einfacher gehen würde. Den ganz ultra über drüber einfachen Algorithmus wird es bei der Division sowieso nicht geben, da man ja in der Schule auch den von mir genannten anwendet. Man kann eben durch intelligentes Denke ein paar Schritte überspringen. Dass bei dem Schritt 78:13 die nächste Stelle im Ergebnis nicht 1 ist, sieht man als Mensch ja automatisch. Ein Rechener müsste alles durchprobieren. Er kann zwar einmal als nächste Stelle 5 annehmen und sich dann schrittweise nähern, aber so wirklich ist das auch nicht der Weisheit letzter Schluss.

11.) Was ich sagen wollte ist, dass die Bitersparnis eben nicht linear mit der Anzahl an Zuständen wächst. Wenn du eine Zahl mit 100 Bits im 2er System hast, dann schaffst du mit einer Anzahl von 1Mio. Zuständen es gerade einmal diese Zahl auf 5 zu reduzieren. Mit 100 2er Bits kannst du eben 2^100 Zustände darstellen. Das heißt mit 1Mio. Zuständen schaffst du nicht einmal 20Bits (2^20 wäre 1.048.576). Um beim Beispiel mit der Multiplikation zu bleiben: Damit du dir 20 UND-Gatter ersparst, musst du eine riesige Monsterschaltung entwickeln, die über 1Mio.x1Mio. verschiedene Kombinationen berechnen muss. Das wird dir nicht gelingen, es sei denn du unterteilst diese riesige Schaltung in mehrere kleinere und somit kommst du einer binären Schaltung wieder näher. Wenn es eine einfachere Möglichkeit gebe 1Mio.x1Mio zu berechnen, dann würde man ja das ganze nicht binär lösen, sondern gleich auf einmal. Du hast zwei Möglichkeiten: Entweder du zerteilst diese große Schaltung in mehrere kleinere, oder du speicherst alle möglichen Ergebnisse irgendwo ab, was aber wegen dem enormen Speicherbedarf nicht möglich ist.

Update: Ich bin jetzt zu einer neuen Erkenntnis gekommen: Wer sich diesen Post zur Gänze durchlesen muss, der ist ein armer Hund. Also möge man mir es vergeben, wenn ich ein paar Rechtschreibfehler drinnen habe. ;D
 
@andr_gin

> 1.) Du kannst einen Rechner nur Digital (mit begrenzter Anzahl an Zuständen) und nicht Analog (unendliche Anzahl von Zuständen) bauen

Und warum waren dann die ersten "Computer" Analog Rechner? Mehr dazu: http://dcoward.best.vwh.net/analog/

> da mit der analogen Methode immer eine gewisse Messungenauigkeit dabei ist, was bei der Datenübertragung tödlich ist. Wenn du z.B. die Temperatur abliest, spielt es keine Rolle, ob du dich da um ein Grad vertust, weil das Termometer nicht so genau geht, aber beim Computer muss eben jeder Wert 100%ig derselbe sein, denn sonst kann nichts funktionieren.

Die Messungenauigkeit spielt keine Rolle solange sie viel kleiner ist als die benötigte Ergebnisgenauigkeit. Bei einem Digitalrechner machst du dir ja auch keinen Kopf darüber was passiert wenn das Ergebnis einer Division gerundet wird.

> Gerade diese Messungenauigkeit ist es, die die Probleme verursacht und je genauer die Messung ist, desto aufwendiger und desto langsamer wird die Schaltung funktionieren.

Mag sein, dass so eine Schaltung aufwändiger wird, aber du kannst die Schaltgeschwindigkeit kaum mit einer Taktgeschwindigkeit vergleichen, denn so eine Schaltung erledigt u.U. mehr Informationsverarbeitung als 100 Takte einer Digitalschaltung.

> 2.) Die Transistoren kann man grundsätzlich auch anders einsetzen nur sind eben diese Transistoren, die eben heutzutage mit 90nm bzw. 130nm gefertigt werden nicht in der Lage mehr als zwei Zustände zu verarbeiten und es wäre eine Riesenarbeit, diese Fertigung umzustellen. Bis man das so weit in den Griff bekommen hat wird es noch sehr lange dauern.

Das ist absoluter Quatsch! BTW. Hast du jemals schon was von Mixed-Signal Chips gehört die einen Teil haben der total Analog arbeitet?!

> 3.) Das ist klar. Wenn du ein besseres Medium nimmst, kannst du mehr hindurchschicken, aber im gleichen Medium gehen eben bei erhöhter Anzahl an Zuständen nur viel weniger Daten durch

Relevant ist aber nicht die Anzahl der Code-Symbole sondern der übertragbare Informationsgehalt. Ob ich in einer Sekunde 2 Ziffern einer
Zahl mit der Basis 32 oder 10 Bits ist Jacke wie Hose -- der übertragene Informationsgehalt ist trotzdem der gleiche!

> 4.) Wenn du es modulierst musst du bei mehreren Zuständen doch die Frequenz erhöhen oder die Frequenz genauer festlegen, wo wir wieder bei dem Problem mit dem Messfehler wären. In einem Rechner spielt das ganze sehr wohl eine Rolle. Registered RAM wird z.B. zur Verstärkung eingesetzt. Wenn das ganze im Computer keine Rolle spielen würde, warum baut man dann registered RAM?

??? Was willst du mir damit sagen?

> 6.) Es lassen sich sicher logische Schaltungen entwerfen, die einem 10x10er UND-Gatter (ich nenne es jetzt einmal so) entsprechen, aber ich behaupte, dass diese Schaltung sehr viel komplizierter sein wird. Ein normales UND-Gatter besteht einfach aus zwei in Serie geschalteten Transistoren. Das ist so ziemlich das primitivste, was es gibt. Bei einer Rechnung im binärsystem brauchst du ca. 3 Mal so viel Bits, wie im 10er System und ich behaupte einmal, dass das 10x10er UND mit Sicherheit mehr als 3Mal so kompliziert sein wird bzw. 3 Mal so viele Transistoren enthält.

Mir ging es in erster Linie darum zu zeigen, dass es kein Unlösbares Problem ist. Ob und wann die eine oder andere Technologie besser ist steht auf einem anderen Blatt.

> 8.) Es kommt zwar ein Übertrag zu Stande, aber erst zum Schluss beim zusammenaddieren der einzelnen Stellen. Bis dahin kann alles unabhängig voneinander ausgeführt werden. Der Übertrag zum Schluss bleibt einem übrigens auch bei einem 10er System nicht erspart.

Was anderes habe ich ja auch nicht Behauptet!

> 10.) Ja, aber mir ist auf jeden Fall kein Algorithmus bekannt, der hier einfacher gehen würde. Den ganz ultra über drüber einfachen Algorithmus wird es bei der Division sowieso nicht geben, da man ja in der Schule auch den von mir genannten anwendet.

Für einen Rechnen muss der Algorithmus gar nicht einfach sein. BTW. Eine heute übliche Hardware-Implementierung nutzt den Radix-4 SRT Algorithmus: Dieser arbeitet intern aber mit "Ziffern" von -3 bis +3 :-)

> 11.) Was ich sagen wollte ist, dass die Bitersparnis eben nicht linear mit der Anzahl an Zuständen wächst. Wenn du eine Zahl mit 100 Bits im 2er System hast, dann schaffst du mit einer Anzahl von 1Mio. Zuständen es gerade einmal diese Zahl auf 5 zu reduzieren. Mit 100 2er Bits kannst du eben 2^100 Zustände darstellen. Das heißt mit 1Mio. Zuständen schaffst du nicht einmal 20Bits (2^20 wäre 1.048.576). Um beim Beispiel mit der Multiplikation zu bleiben: Damit du dir 20 UND-Gatter ersparst, musst du eine riesige Monsterschaltung entwickeln, die über 1Mio.x1Mio. verschiedene Kombinationen berechnen muss. Das wird dir nicht gelingen, es sei denn du unterteilst diese riesige Schaltung in mehrere kleinere und somit kommst du einer binären Schaltung wieder näher. Wenn es eine einfachere Möglichkeit gebe 1Mio.x1Mio zu berechnen, dann würde man ja das ganze nicht binär lösen, sondern gleich auf einmal. Du hast zwei Möglichkeiten: Entweder du zerteilst diese große Schaltung in mehrere kleinere, oder du speicherst alle möglichen Ergebnisse irgendwo ab, was aber wegen dem enormen Speicherbedarf nicht möglich ist.

Das ist der eigentliche Kern der ganzen Diskussion: Steht der der Aufwand in Relation zum Nutzen! Bzw. wie lege ich die Trade-Offs fest.

Ich meine das die Rechner die das Binärsystem nutzen noch eine längere Zeit dominieren werden, bevor radikal andere Rechenmaschinen (Quantencomputer) sie ersetzen. Was ich aber auch glaube ist, dass die Building-Blocks immer mehr Diskretisiert werden. D.h. nach Aussen zum Nutzer hin werden sie nach wie vor Binär aussehen (=Logische Ebene), aber der interne Aufbau (Physikalische Ebene) hat damit weniger zu tun. Damit kann man andere physikalische Effekte zur steigerung der Performance ausnutzten. Ein Beispiel dafür ist z.B der Enlight256.
 
@HenryWince
Ich verstehe zwar nur ein Bruchteil dessen was du da sagst, aber immerhin möchte ich meinen Respekt für deine Antwort bezeugen.

In anderen Foren ist es ja üblich passiv zu konsumieren , ohne zu loben.
Kritik fällt einem naturgemääss immer leichter.

Ich will dich ermuntern auch weiterhin solche Fetten Inhalte zu posten...

kann natürlich nie von Nachteil sein, sich auch so auszudrücken, dass man auch von anderen verstanden wird.

Nicceeee ;)

MFG Bokill

PS: Gebe dem Thread mal 5 Punkte ;)
 
Das Lob gilt auch für alle anderen die den Thread erst möglich machten...

auch an sich "falsche" Gedanken ermöglichen gute Inhalte, denn nur so werden Sachen klarer und die Diskussion bunter und vielfältiger.

Nicht Fragen sind falsch, sondern die Weigerung diese zu beantworten.

Wollte ich nur so mal gesagt haben ;)

MFG Bokill
 
Noch ein Argument gegen Rechner mit mehr als 2 Zuständen: Die Datenrate wird bei digitaler Übertragung momentan nur durch einen einzigen Faktor eingeschränkt - wie lange dauert es, bis der Empfänger eine Signalumschaltung beim Sender registriert.

Also wie lange dauert es (wenn ich von zb. 0 auf 1 umschalte) bis das Signal beim Empfänger auch tatsache als 1 interpretiert wird.

Wenn das eben nicht mehr als 3ns dauert kann ich mit 1/3ns=333MHz senden. Die Informationsmenge die dabei Übertragen werden kann entspricht log(2)*333MHz=100.24/s (ist eine imaginäre Einheit, die Rechnung erkläre ich wenn ihr wollt).

Tja, nun kann ich zwar auch sagen wir 5 Zustände übertragen, aber dann dauert es deutlich länger bis das Signal eindeutig beim Empfänger anliegt - sagen wir 15ns, das macht 66MHz.
Die Datenübertragung würde dabei aber nur log(5)*66MHz=46.1/s entsprechen.

Das Problem der Elektronik ist die Induktion, daher sind einfache Zustände eben deutlich einfacher zu realisieren. Bei Licht dürfte die Sache wieder anders aussehen, hier könnten 2^n Zustände durchaus sinn machen (2^n weil man dann weiterhin das Dualzahlsystem nutzen kann).
 
@intel_hasser

> Noch ein Argument gegen Rechner mit mehr als 2 Zuständen: Die Datenrate wird bei digitaler Übertragung momentan nur durch einen einzigen Faktor eingeschränkt - wie lange dauert es, bis der Empfänger eine Signalumschaltung beim Sender registriert. Also wie lange dauert es (wenn ich von zb. 0 auf 1 umschalte) bis das Signal beim Empfänger auch tatsache als 1 interpretiert wird.

Du zäumst das Pferd von hinten auf. Eigentlich ist so, dass diese Zeit abhängig von der eingesetzten Technik und dem Rauschverhalten auf dem Übertragunsweg ist. D.h. von der darunter liegenden Physik -- und die ist leider sehr Vielschichtig.

> Wenn das eben nicht mehr als 3ns dauert kann ich mit 1/3ns=333MHz senden. Die Informationsmenge die dabei Übertragen werden kann entspricht log(2)*333MHz=100.24/s (ist eine imaginäre Einheit, die Rechnung erkläre ich wenn ihr wollt).

Erklär mal.

BTW die Informationsmenge wird in Bit angegeben, auch wenn ein anders Zahlensystem verwendet wird. Beispiel: eine dezimale Ziffer hat den Informationsgehalt Log(10)/Log(2) Bit = 3,32 Bit. Ein hexadezimale Ziffer enthält Log(16)/Log(2) Bit = 4 Bit an Information. Die Informationsmenge die ein Symbol eines Codes, der n Zustände kennt (=> Zahlensytem zur Basis n), enthält ist Log(n)/Log(2) Bit.

> Tja, nun kann ich zwar auch sagen wir 5 Zustände übertragen, aber dann dauert es deutlich länger bis das Signal eindeutig beim Empfänger anliegt

Ja, aber es wurde auch deutlich mehr an Information übertragen. Die Symbolrate mag kleiner sein, aber relevant ist die Bitrate (=Symbolrate * Informationsgehalt pro Symbol).

> Das Problem der Elektronik ist die Induktion, daher sind einfache Zustände eben deutlich einfacher zu realisieren.

Aber höherwertige Systeme sind effizienter (was z.B. Bandbreite und Sendeenergie) angeht. Der trend in der Kommunikation geht klar in diese Richtung. Siehe GSM, UMTS (jeweils 4 physikalische Zustände).
 
Ich hab da oben die Informationsmenge in Dezimalstellen angegeben, daher log(2) und log(5).

log(2)/log(2)=1 bit und log(5)/log(2)=2.322 bit, eine Dezimalstelle hat 3.322 Bit.

Das Problem mit einer Anzahl von Zuständen!=2^n ist, dass man ewig braucht um die Informationen zu konvertieren. Aber bei 2, 4, 8, 16... Zuständen geht das ziemlich einfach. Ich hab oben ja auch gesagt, dass es bei der Elektronik sinnvoll ist 2 Zustände zu nehmen, bei einer elektromagnetischen Übertragung (zb. WLan) können mehrere Zustände durchaus sinnvoller sein, weil hier eben nicht die klassische Induktion auftritt.

> Du zäumst das Pferd von hinten auf. Eigentlich ist so, dass diese Zeit abhängig von der eingesetzten Technik und dem Rauschverhalten auf dem Übertragunsweg ist. D.h. von der darunter liegenden Physik -- und die ist leider sehr Vielschichtig.

Tja, wenn du die Physik völlig außer Acht lässt könnten wir einen Rechner mit unendlicher Geschindigkeit bauen :P

> BTW die Informationsmenge wird in Bit angegeben, auch wenn ein anders Zahlensystem verwendet wird. Beispiel: eine dezimale Ziffer hat den Informationsgehalt Log(10)/Log(2) Bit = 3,32 Bit. Ein hexadezimale Ziffer enthält Log(16)/Log(2) Bit = 4 Bit an Information. Die Informationsmenge die ein Symbol eines Codes, der n Zustände kennt (=> Zahlensytem zur Basis n), enthält ist Log(n)/Log(2) Bit.

Es spricht nichts dagegen auch eine andere Einheit zu nutzen ;)


> Ja, aber es wurde auch deutlich mehr an Information übertragen. Die Symbolrate mag kleiner sein, aber relevant ist die Bitrate (=Symbolrate * Informationsgehalt pro Symbol).

Ich hab dir oben vorgerechnet, dass die Informationsmenge auch deutlich kleiner wäre ;)

Nochmal für dich in Bit:

log(2)/log(2)*333MHz=333MBit/s
log(5)/log(2)*66MHz= 153MBit/s - und hier müsste noch eine Aufwändige konvertierung dahinter, da 5!=2^n

> Aber höherwertige Systeme sind effizienter (was z.B. Bandbreite und Sendeenergie) angeht. Der trend in der Kommunikation geht klar in diese Richtung. Siehe GSM, UMTS (jeweils 4 physikalische Zustände).

Daher hab ich auch geschrieben, dass es zb. bei Licht (oder eben elektromagnetischer Übertragung) durchaus sinnvoll sein kann mehrere Zustände zu nutzen.
 
> Das Problem mit einer Anzahl von Zuständen!=2^n ist, dass man ewig braucht um die Informationen zu konvertieren.

Das es Zeit kostet steht ausser Frage, aber diese Zeit läßt sich fast auf Null reduzieren. Im übrigen gibt es Anwendungsfälle, bei denen so eine "Konvertierung" einen nützlichen Nebeneffekt der im 2^n Fall extra behandelt werden muss: Fehlerkorrektur.

> [Bit als Maß für die Informationsmenge] Es spricht nichts dagegen auch eine andere Einheit zu nutzen

Natürlich hast du recht, dass man eine andere Einheit verwenden kann, aber in praktisch der gesamten Fachliteratur findest du fast ausschlieslich Bit-Angaben. In absolut theoretischen Abhandlungen wird der Informationsgehalt sehr selten noch in "natural units of information" (d.h. zur Basis e) angegeben. War eigentlich nur als Anmerkung gedacht, weil es mir so schien, dass dir das nicht bewust war. Unerläßlich war jedenfals der logarithmische Bezug :-)

> Ich hab dir oben vorgerechnet, dass die Informationsmenge auch deutlich kleiner wäre

Ja, aber die Rechnung geht von ungleichen Voraussetzungen aus!

> Tja, nun kann ich zwar auch sagen wir 5 Zustände übertragen, aber dann dauert es deutlich länger bis das Signal eindeutig beim Empfänger anliegt - sagen wir 15ns, das macht 66MHz.

Erklär mir wie du auf diese Zahlen kommst.
 
Das waren nur Beispielzeiten, aber es steht außer Frage, dass es bei mehreren Zuständen länger dauert, bis ein Zustand eindeutig anliegt - natürlich nur bei elektrischer Übertragung ;)

Das liegt einfach daran, dass wir bei elektrischer Übertragung eine Induktion haben die mit der Pegeländerung wächst - bei 2 Zuständen sind die Spannungsintervalle so groß, dass wir nach kurzer Zeit schon einen eindeutigen Zustand haben, aber bei mehreren Intervallen dauert es länger bis der Spannungspegel sich dem gewünschten Wert angenährt hat (eben einfach weil sich der Spannungspegel dem gewünschten Wert weiter als bei 2 Zuständen annähren muss).

Die einfachste Umrechnung von Informationen auf ein anderes Zahlensystem geht per Modulo. Im Falle von einem 5er System müsste man 2.32, also 3 Bit nehmen und modulo 5 rechnen. Den Rest übernimmt man mit in die nächsten 3 bit, wo man wieder modulo 5 rechnet aber ich glaub ich hab noch einen Sonderfall ausgelassen.
 
Zurück
Oben Unten