Binärarithmetik |
![]() |
![]() |
Letztmalig dran rumgefummelt: 18.03.21 17:22:04 |
![]() |
... nö - wer einfache Sachen
mag, liest hier schon mal nicht mehr weiter - es wird, na sagen wir nicht
gleich komplex (obwohl Dein Mathelehrer ob der ungewohnten Gleise auch
kräftig in's Schwitzen kommen würde!!!), aber eben ungewohnt und doch
raffiniert. Denn was unsere Altvorderen - allen voran Leibnitz, de Morgan
und Taylor, da ausgepult haben, bringt Dich auch heut' noch zu verstärkter
Transpiration - Herr Schaarschmidt denkt sich Ähnliches im Keller in
Lederkleidung unter Peitschenhieben aus!!! Für diese Seite sowie zugehörige Links gilt das Zitat des Altbundeskanzlers (NEIN - nicht, den Du kennst - des "Schlanken"!): Wir leben alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont! Einige mathematische Grundlagen – hier nun soll ein kleiner Auszug aus den mathematischen Problemen des Rechenmaschinenbaus gegeben werden und das Verständnis für die Frage: "... wie rechnen eigentlich Computer?" geweckt werden. Dabei werden Fragen der Wahl des Zahlensystems, des Rechnens im Dualsystem und der Schaltalgebra untersucht. Bereits nach kurzer Zeit entdecken wir: die Mutter aller Operationen ist die Addition!!! ... trotzdem gilt immer: „Manchmal kann Null so groß werden, dass es schon fast ein wenig eins ist!" |
||||||||||||||||||||
![]() |
1. Zahlendarstellung 2. Wahl des Zahlensystems 3. Die Binäre Addition 4. Binäre Subtraktion 5. Binäre Subtraktion mittels Komplement sowie mittels Zweierkomplement 6. Binäre Multiplikation 7. Division wird etwas schwieriger ... 8. Vergleichsoperationen auf Binär-Ebene 9. Binäre Logik 10. Binäre Schaltungssynthese 11. Verwandte Themen |
||||||||||||||||||||
![]() |
|
||||||||||||||||||||
![]() |
Quellen:
|
||||||||||||||||||||
![]() |
|
1. Wahl des Zahlensystems |
![]() |
![]() |
![]() |
![]() |
Wahl des Zahlensystems, mit
welchem Rechenmaschinen arbeiten Im täglichen Leben bedient man sich zur Darstellung der Zahlen des Dezimalsystems, Jede Zahl wird dargestellt durch eine Kombination von Ziffern. Das Dezimalsystem kennt 10 Ziffern (0 bis 9), aus denen die Zahlen kombiniert werden. Außerdem handelt es sich beim Dezimalsystem um ein Positionssystem, das heißt, es spielt auch die Stellung der Ziffern zueinander eine Rolle. So ist zum Beispiel 469 + 649, obwohl die Ziffern gleich lauten. Es gibt auch andere Zahlensysteme, die keine Positions-Systeme sind, beispielsweise das römische Zahlensystem. Dort ist die Ziffer X zum Beispiel immer 10, gleichgültig, wo die Ziffer geschrieben wird. |
![]() |
|
![]() |
Es liegt nun nahe, dass man im Rechenmaschinenbau das Dezimalsystem
verwendet. Man hat das auch tatsächlich in den Anfängen des
Rechenmaschinenbaus getan. Später aber fand man Zahlensysteme, die sich für
die Verwendung als Grundlage des Maschinenrechnens besser eignen. Es handelt
sich dabei um das Dualsystem, manchmal auch als binäres Zahlensystem
bezeichnet, und um dualverschlüsselte Dezimalsysteme. Vom technischen
Standpunkt aus sind diese Systeme besonders günstig, da viele Bauelemente
dualen Charakter besitzen. Eine Röhre führt Anodenstrom oder sie führt
keilten, ein Relaiskontakt ist offen, oder geschlossen, ein Ringkern ist in
einem oder im anderen Sinne magnetisiert. Aus technischen Gründen würde sich
also ein Zahlensystem empfehlen, dass finit nur zwei Ziffern arbeitet. Für
das Verständnis des Dualsystems ist es günstig, sich noch einmal das
Dezimalsystem anzusehen. Im Dezimalsystem entspricht jede Stelle einer
Zehnerpotenz. Man muss dann diese Zehnerpotenz nur mit der Ziffer, die dort
steht, multiplizieren. Eine mehrstellige Zahl besteht dann aus der Summe von
Zehnerpotenzen, die mit einer der zehn Ziffern multipliziert sind. Zum Beispiel:
|
![]() |
Man bezeichnet dabei 10 als die Basis b des Zahlensystems. Die Basis
stimmt immer mit der Anzahl der Ziffern überein. (Im Dezimalsystem 0 bis 9).
Verallgemeinert man jetzt diese Erkenntnis, so lässt sich jede Zahl in einem
Positionssystem folgendermaßen darstellen:
|
![]() |
Dabei bedeuten die ai die verschiedenen Ziffern des
Positionssystems, b die Basis und k die Stelle, an der die Ziffer steht,
wenn man die letzte Stelle- als 0. Stelle. bezeichnet. Für das Dezimalsystem
wären die ai die Ziffern 0 bis 9, b = 10 und k die Stelle, zum Beispiel 697
043
|
2. Wahl des Zahlensystem |
![]() |
![]() |
![]() |
![]() |
Gauß und Weber bauten ihren Zeigertrelegraphen zwischen der Universität von Göttingen sowie der Sternwarte noch mit einem durch Widerstand verstellbaren "Zeigertelegraphen" mit den Buchstaben des Alphabets auf und ernteten wegen der "Meßfehler" damit keinen Erfolg (obwohl die Idee gut war). Herr Baudot ging da schon wesentlich schlauer und somit auch erfolgreicher vor - er zerlegte die Zeichen in Bitmuster und versuchte dabei minimal zu bleiben, jedoch trotzdem alles darstellen zu können. Gilbert Vernam hat dann mit diesem Code in leicht modifizierter Weise das Chiffrierverfahren aller Chiffrierverfahren geschaffen - das nicht zu "knackende" - das One-Time-Pad! | ||||||||||||
![]() |
Ausgehend von der allgemeinen Form einer Zahl im Positionssystem, lässt sich aber auch ein System mit der Basis 2 konstruieren, In diesem System wäre b = 2 und es gäbe nur zwei verschiedene Ziffern. Jede Zahl wäre dann eine, Summe verschiedener Zweierpotenzen, die mit Null oder Eins multipliziert wären. Also:
Bei diesem System handelt es sich um das Dualsystem. Mit diesen Ziffern dargestellt wäre
|
||||||||||||
![]() |
Den zehn Ziffern des Dezimalsystems müsste man folgenden Zahlen im Dualsystem zuordnen:
|
||||||||||||
![]() |
Um eine Dualzahl in eine Dezimalzahl zurückzuverwandeln, muss man die Summe der Zweierpotenzen niederschreiben und diese addieren. Zum Beispiel so:
|
||||||||||||
![]() |
Da dieses Zahlensystem im Verlaufe der nachfolgenden
Betrachtungen ausschließlich verwendet wird, ist für das weitere Verständnis
notwendig, dass man sich durch mehrere Übungen Sicherheit im Umgang mit
Dualzahlen verschafft. Auch ist diese Sicherheit beim Bau von
Rechenmaschinenmodellen unbedingt erforderlich, damit es nicht zu einem
schematischen Nachbauen der Schaltungen kommt.
|
||||||||||||
![]() |
Da dieses Zahlensystem im Verlaufe der nachfolgenden
Betrachtungen ausschließlich verwendet wird, ist für das weitere Verständnis
notwendig, dass man sich durch mehrere Übungen Sicherheit im Umgang mit
Dualzahlen verschafft. Auch ist diese Sicherheit beim Bau von
Rechenmaschinenmodellen unbedingt erforderlich, damit es nicht zu einem
schematischen Nachbauen der Schaltungen kommt.
|
||||||||||||
![]() |
Da dieses Zahlensystem im Verlaufe der nachfolgenden
Betrachtungen ausschließlich verwendet wird, ist für das weitere Verständnis
notwendig, dass man sich durch mehrere Übungen Sicherheit im Umgang mit
Dualzahlen verschafft. Auch ist diese Sicherheit beim Bau von
Rechenmaschinenmodellen unbedingt erforderlich, damit es nicht zu einem
schematischen Nachbauen der Schaltungen kommt.
|
||||||||||||
![]() |
... zudem gibt's natürlich noch jede Menge
weiterer Codes - vor allem solche, welche nicht technischer Natur,
sondern einfach nur historische Zustandsumschreibungen von allgemein
interessanten Informationen sind
![]() |
3. Die Binäre Addition ... |
![]() |
![]() |
![]() |
![]() |
Bei der Addition
trifft man im Dualsystem folgende Zuordnung Man setzt nach Leibnitz an:
0 + 0 = 0 Diese Definition stimmt mit der dezimalen Addition überein, solange die Summe kleiner als Zwei ist. In der Praxis des Rechenmaschinenbaues sucht man Elemente, die diese vier Zuordnungen richtig treffen. Dazu unterteilt man diese Zuordnungen noch einmal, und zwar so:
|
||||
![]() |
|
||||
![]() |
Die Überträge sind die Ziffern, die man sich bei der
Addition merken und dem Ergebnis der nächsten Spaltenaddition hinzufügen
muss. (Diese Überträge werden gekennzeichnet durch ein Kreuz (x) an der
Stelle, wo sich der Übertrag auswirkt.). Man kann generell drei Fälle
unterscheiden, die beim Bau von Addiergeräten berücksichtigt werden müssen: Erstens, es tritt kein Übertrag auf, das heißt, dass nur die, ersten drei Möglichkeiten der einfachen Ziffernaddition auftreten:
|
||||
![]() |
Man addiert also wie im Dezimalsystem, indem man die
entsprechenden Stellen beider Zahlen zusammenzählt. Zweitens, es tritt ein Übertrag auf. Dieser muss in der nächst höheren Spalte zum Ergebnis addiert werden. Da dort eine 0, steht, muss im Endergebnis eine 1 stehen 0. kann auf zwei Arten entstanden sein,
|
||||
![]() |
Drittens, es entsteht ein Übertrag, aber in der
nächsten Stelle steht ebenfalls eine Eins. Es entsteht also bei
der Addition des Übertrags ein neuer Übertrag, welcher so lange wandert, bis
an einer Stelle eine Null steht. In der Fachsprache wird das als
"Durchschleifen" bezeichnet.
|
||||
![]() |
Aus diesen drei Fällen setzt sich jede Addition zusammen.
Man braucht nun nur ein Werk zu bauen, welches diese drei Fälle der Addition
ausführen kann, um alle Zahlen zu addieren, deren Größe den
Operationsbereich der Maschine nicht überschreitet. Damit sind die
mathematischen Voraussetzungen für ein Addierwerk geschaffen. Dass diese
Addition letztlich zu gleichen Ergebnissen führt wie die Addition im
Dezimalsystem, kann man leicht an einigen Beispielen erkennen. Alle weiteren Rechenoperationen können auf die Addition zurückgeführt oder durch eigene Rechenvorschriften durchgeführt werden. |
||||
![]() |
Eine analoge Betrachtung aus dem Dezimalsystem folgt hier
nun:
|
||||
![]() |
|
4. Binäre Subtraktion |
![]() |
![]() |
![]() |
![]() |
Wie bei der
Addition gibt es auch bei der Subtraktion eine einfache Vorschrift, die als
Grundlage der Subtraktion Rechenoperation dient - und auch diese hat ein
logisches "Grund-Äquivalent". Sie lautet ähnlich strukturiert wie bei der
Addition:
0 - 0 = 0 |
![]() |
+ B ist dabei das so genannte "Borrow - Borgen" aus der nächst höheren Stelle. Er bewirkt, dass in der nächst höheren Stelle vom Ergebnis der Ziffernsubtraktion eine Eins subtrahiert wird. Bei der Subtraktion gibt es ähnlich der Addition drei Fälle, die man unterscheiden muss : Erstens, es tritt kein Mangel auf, das heißt, der Subtrahend ist in allen Ziffern nicht größer als der Minuend.
|
![]() |
Zweitens, in einer Spalte ist die Ziffer des Subtrahenden Eins, die
des Minuenden Null. In er Spalte davor steht aber eine Eins. Diese hebt
gerade den Mangel auf. Zum Beispiel:
|
Das Kreuz (x) deutet den Mangel an, der sich an dieser Stelle bemerkbar
macht.) Drittens, es entsteht ein Mangel, in der vorigen Spalte aber steht eine Null. Es tritt das Durchschleifen des Mangels auf, bis in einer Spalte eine Eins steht, die den Mangel aufhebt. Zum Beispiel:
|
|
![]() |
5. Binäre Subtraktion mittels Komplement sowie Zweierkomplement |
![]() |
![]() |
![]() |
![]() |
Eine Subtraktion
kann sich nur aus diesen drei speziellen Fällen zusammensetzen. Eine andere Möglichkeit der Subtraktion besteht darin, dass man sie durch die Addition des sogenannten Komplements ausführt. im Dezimalsystem versteht man unter dem Komplement einer Zahl die, Zahl, welche jede Ziffer der gegebenen Zahl auf Neun ergänzt. |
|||||||||||||||
![]() |
zuerst mittels "Komplement-Rechnung - dies erklärt auch, wieso viele Assemblersprechen die Negation als Komplement bezeichnen!!! | |||||||||||||||
![]() |
... das Komplement zu 143609 ist 856390, da 143609 + 856390 = 999999!!! |
|||||||||||||||
![]() |
Bei einigen dualverschlüsselten Dezimalsystemen ist die Bildung des _
Komplements sehr einfach, da man in dem Dualausdruck nur jede 0 durch 1 und
jede 1 durch 0 zu ersetzen braucht. eine Subtraktion auf der Grundlage der Komplementaddition im Dezimalsystem sieht folgendermaßen aus 9654301 - 2965001 sei zu bilden - also setzen wir an:
|
|||||||||||||||
![]() |
Addiert man die erste Stelle zur letzten, so erhält man das richtige Ergebnis, nämlich 6689300 | |||||||||||||||
![]() |
|
|||||||||||||||
![]() |
... das Zweierkomplement zu 143609 ist 85639,1 da 143609 + 856391 = 1000000!!! |
|||||||||||||||
![]() |
349711 - 23201= 326510 sei zu bilden - also setzen wir mal entsprechend den Regeln an - und wir machen das gleich im Zweierkomplement: |
|||||||||||||||
![]() |
|
|||||||||||||||
6. Binäre Multiplikation - doch - so etwas geht, wenn auch schwer!!! |
![]() |
![]() |
![]() |
![]() |
Alles, was in der Computergeometrie zweidimensional hinreichend reprduziert werden kann, stellt man mit diesem Werkzeug dar. Das ist für den mathematischen Einsteiger hinreichend komplex, entlockt dem 3D-Anwender (zumindest dann, wenn er es programmieren kann!), nur ein müdes "Lächeln"! |
![]() |
7. Binäre Division - hier wird's heftig!!! |
![]() |
![]() |
![]() |
![]() |
Hier nun zur Basis der Grafik jedes halbwegs 3D-fähigen Computerspieles, denn die Berechnung der Fluchtpunkte für die Räumliche Geometrie und damit der Annäherung an den wirklichen Sichtlauf erfolgt auf Basis der Matrizenrechnung, Eigentlich alles ganz angenehm: kleine, meist ganze Zahlen - wo also ist das Problem? Es liegt in der Vielfalt der Möglichkeiten |
![]() |
8. Binärer Größenvergleich |
![]() |
![]() |
![]() |
![]() |
Es ist August,
eine kleine Stadt an der Riviera, Haupt-Saison, aber es regnet, also ist die
Stadt leer. Alle haben Schulden und leben auf Kredit. Zum Glück kommt zu
einem Hotel ein reicher Russe. Er will ein Zimmer und legt 100 $ auf dem
Tisch , danach geht er sich das Zimmer anzuschauen. Der Hotelchef nimmt
schnell die Banknote in die Hand und läuft schnell, um seine Schulden bei
dem Fleischlieferanten zu regulieren. Dieser nimmt die Banknote in die Hand
und läuft schnell, um seine Schulden bei dem Schweinezüchter zu regulieren.
Dieser nimmt die 100 $ in die Hand und läuft schnell, um bei dem
Futterlieferanten seine Schulden zu reduzieren. Dieser nimmt mit großer
Freude das Geld in die Hand und gibt es der Hure, bei der er letztens war
und bei der er die Dienstleistungen auf Kredit genommen hat (Krise!). Die
Hure nimmt das Geld in die Hand und läuft froh, um ihre Schulden bei dem
Hotelchef zu regulieren, wo sie auch letztens war und da Kredit hat .... Und in derselben Sekunde kommt der Russe vom Zimmer zurück und sagt, dass das Zimmer gefällt ihm nicht. Er nimmt seine 100 $ in die Hand und verlässt die Stadt. Niemand hat verdient, aber die ganze Stadt hat keine Schulden mehr und schaut optimistisch in die Zukunft! |
![]() |
9. Binäre Logik |
![]() |
![]() |
![]() |
![]() |
Hier montieren wir bewiesene mathematische Grundsätze ohne uns um deren Beweisführung zu kümmern. Mitunter auch aus der Not heraus, das diese uns zwar unbekannt, aber wissentlich vorhanden ist. Und da besonders Programmiersysteme gehässig sind und eben auf solche bekannten Gesetze bauen (... und folgerichtig all das "Weglassen", was man eigentlich unter Nutzung dieser Gesetze gar nicht bracht) | ||||
![]() |
|
||||
![]() |
Die US-Weltraumbehörde NASA hat in den Landungsfallschirmen des Rovers
"Perseverance" eine verschlüsselte Botschaft
versteckt. Dass die Fallschirme, mit denen die Raumschiffe und Kapseln der
Nasa zur Erde oder einen anderen Planeten schweben, rot-weiß gestreift sind,
hat einen Sinn. Durch das auffällige Muster lässt sich leichter erkennen, ob
sich die Schirme vollständig entfaltet haben und nicht verdreht sind. Schon
während der Liveübertragung von Perseverances Landung deutete ein
Kommentator der Nasa laut der britischen Zeitung Guardian an: |
10. Mathematische Beweise |
![]() |
![]() |
![]() |
![]() |
... da in der Informatik so viel die Rede von "Bewiesenem" ist, thematisieren wir das hier einmal selbst und stellen die ganz einfache Frage: "Welche Rolle spielen eigentlich die mathematischen Beweise ganz allgemein?" | ||||
![]() |
|
11. Verwandte Themen |
![]() |
![]() |
![]() |
![]() |
Überall ist es mir bisher eigentlich gelungen, zu den Verwandtschaften einen dummen Satz zu schreiben, welcher in etwa auch den Kern des Problems trifft - geht hier nicht - 's gibt keinen. Der Begriff ist derart zentral und so absolut unklar, dass es einfach keinen Blödsinn gibt, um ihn zu beschreiben. Und nun ist eigentlich wirklich alles irgendwie mit diesem Begriff verwandt. | |||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 4. Oktober 2011 um 6.54 Uhr |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |