TU Wien:Technische Grundlagen der Informatik VU (Kastner)/Kapitel Zahlendarstellung
- 01 Zahlendarstellung
- 02 Numerik
- 03 Codierung
- 04 Informationstheorie
- 05 Boolesche Algebra
- 06 KV-Diagramme und BDD
- 07 Moore- & Mealy-AutomatenTGI+GDS
- 08 Digitalschaltungen, KominatorikTGI
- 09 Sequentielle Logik
- 10 Speicher
- 14 Micro16
- 15 Befehlssatz
- 16 Pipelining
- 17 Speichermanagement
- 18 Chipsatz
- 19 Multi-Core
- 20 Netzwerke
Zahlensysteme[Bearbeiten | Quelltext bearbeiten]
Zahlschrift[Bearbeiten | Quelltext bearbeiten]
Die Zahlschrift besteht aus einzelnen Zeichen denen ein Wert zugeordnet ist. Sie sind miteinander kombinierbar. Darunter fallen etwa die römischen Zahlen, die kumulativ-additiv sind; XIII = 10 + 1 + 1+ 1 = 13.
Die Schreibweise, die sich durchgesetzt hat, ist die Indisch-arabische, beziffernd-positionell ist und die Basis 10 hat; 1x10 + 3x1 = 13.
Dezimalsystem[Bearbeiten | Quelltext bearbeiten]
Das Dezimale Zahlensystem, auch Zehnersystem genannt, ist ein Stellenwertsystem, wo die (additive) Wertigkeit eines Symbols von seiner Position, der Stelle, abhängt. Das Dezimalsystem wurde in Indien um 600 n. Chr. entwickelt und später im gesamten arabisch beeinflussten Raum verbreitet.
Ihre Darstellung erfolgt durch
- die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- an bestimmten Stellen (Einer, Zehner, Hunderter, Tausender, …) und
- hat die Basis 10.
Allgemeine Stellenwertsysteme[Bearbeiten | Quelltext bearbeiten]
Die Basis b ist die Anzahl der verwendeten Ziffern. Um den Wert der Zahl (…a3, a2, a1, a0) zu erhalten, multipliziert man sie mit dem Wert der Stelle (…b3, b2, b1, b0). Nachkommastellen werden mit negativen Tief-/Hochzahlen dargestellt.
Binäres Zahlensystem[Bearbeiten | Quelltext bearbeiten]
Ein Zahlensystem mit der Basis 2 nennt man binäres Zahlensystem. Es wird mit den Ziffern 0 und 1 dargestellt, man kann aber auch L (Low) und H (High) verwenden.
Hexadezimales Zahlensystem[Bearbeiten | Quelltext bearbeiten]
Ein System mit Basis 16 wird hexadezimales Zahlensystem genannt. Neben den üblichen Ziffern verwendet es auch die Buchstaben A bis F, wobei jedem einzelnen ein Wert zugewiesen ist.
Zahlenumwandlungen[Bearbeiten | Quelltext bearbeiten]
Um von einem Quellsystem in ein Zielsystem umzuwandeln müssen Zahlen mit Nachkommastellen (reelle Zahlen) in ihren Vor- und Nachkommateil aufgeteilt werden. Danach werden beide getrennt umgerechnet.
Vorkommateil[Bearbeiten | Quelltext bearbeiten]
Von Dezimal in ein anderes System[Bearbeiten | Quelltext bearbeiten]
Hierzu muss einfach die dezimale Zahl modulo der Basis des Zielsystems genommen werden. Den Rest von unten nach oben aneinandergereiht ergibt die Zahl im gewünschten System. Der Vorgang wird abgebrochen, wenn nicht weiter dividiert werden kann.
(21)10 = (25)8
(21)10 = (15)16
Zurück ins Dezimalsystem[Bearbeiten | Quelltext bearbeiten]
Größeres Zahlensystem nach Kleineres[Bearbeiten | Quelltext bearbeiten]
Die Zahl mit der größeren Basis wird modulo der Basis des kleineren Systems genommen. Dabei ist zu beachten, wenn das Zielsystem eine Potenz des Ursprungssystems ist, so ist je eine Ziffer des Ursprungs so viele Ziffern im Zielsystem wie die Hochzahl.
Da je eine Hexadezimalzahl vier Binärziffern ergibt, muss eine Null vorne angehängt werden.
Kleines Zahlensystem nach Größeren[Bearbeiten | Quelltext bearbeiten]
Ist das Zielsystem kleiner als das Ursprungssystem, und möchte man keinen Umweg über das Dezimalsystem machen, muss man sich die Basen ansehen. Ist die kleinere Basis eine Potenz der Größeren, so können je Hochzahl mal Ziffern des Ursprungssystems in das Zielsystem umgewandelt werden.
Nachkommateil[Bearbeiten | Quelltext bearbeiten]
Zurück ins Dezimal[Bearbeiten | Quelltext bearbeiten]
(0,011)2
Von Dezimal in ein anderes System[Bearbeiten | Quelltext bearbeiten]
Hier wird die Gleitkommazahl mit der Basis des Zielsystems multipliziert. Dabei entsteht entweder ein Vorkommateil ungleich Null oder bleibt als Null bestehen, dieser wird als Ziffer des Zielsystems genommen und zwar von oben nach unten. Der Vorgang wird abgebrochen, wenn das Ergebnis 0 ist oder gemäß Vorgabe, falls keine endliche Entwicklung.
Umwandeln ohne Dezimalsystem[Bearbeiten | Quelltext bearbeiten]
Hier erfolgen die Rechenschritte wie oben beim Vorkommateil. Auch hier muss darauf geachtet werden, welches System größer ist und ob Potenzen existieren. Hat ein System weniger Ziffern als benötigt, muss, von der Kommastelle weg, eine Null angehängt werden.
Eine Null muss vor die letzte Eins gestellt werden, da je eine Ziffer der Basis 9 zwei Ziffern der Basis 3 ergeben.
Eine Null muss in der letzten Klammer angehängt werden, da je zwei Ziffern der Basis 2 eine Ziffer der Baisis 4 ergeben.
Rechnen im binären System[Bearbeiten | Quelltext bearbeiten]
Addition[Bearbeiten | Quelltext bearbeiten]
Die Addition im Binärsystem ist dem im Dezimalsystem sehr ähnlich. Die Ziffern werden von rechts nach links aufaddiert. Zwischenergebnisse werden unten notiert, jedoch nur die letzte Stelle. Die erste Stelle, der Übertrag, muss beim Ausarbeiten der jeweils nächsten Spalte berücksichtigt werden. Die Additionsregeln im binären Zahlensystem sind wie folgt:
Bei wird jedoch nur die letzte Ziffer unten notiert und der Übertrag zur nächsten Spalte dazugerechnet.
Subtraktion[Bearbeiten | Quelltext bearbeiten]
Falls bei der Subtraktion zweier Ziffern, die Ziffer des Minuenden kleiner als die des Subtrahenden ist, muss von der höherwertigen Stelle eine Zahl im Wert der Basis ausgeborgt werden. Der Minuend wird um diesen Wert erhöht und das Zwischenergebnis der Subtraktion der Ziffern wird angeschrieben. Anschließend wird der höherwertige Subtrahend um eins erhöht.
Die obigen gekennzeichneten Ziffern sind Positionen mit Übertrag oder ergeben zusätzlich einen Übertrag.
Multiplikation[Bearbeiten | Quelltext bearbeiten]
Die Multiplikation im binären Zahlensystem ist einfacher, da es nur 2 Zahlen besitzt. Man kann dieselbe Methode wie bei den Dezimalzahlen verwenden. Zeilen, die durch die Multiplikation mit 0 entstehen, können auch weggelassen werden, jedoch muss man die folgende Zeile entsprechend einrücken. Die Regeln lauten:
Für die Implementierung im Rechner ist es günstiger, mit der am weitesten rechts stehenden Ziffer des Multiplikators zu beginnen. Die Teilergebnisse werden dadurch nach links verschoben. So müssen nicht alle Zwischenergebnisse gespeichert werden und jedes Teilergebnis kann sofort zum Endergebnis addiert werden. Dies ermöglicht eine effizientere Implementierung.
Division[Bearbeiten | Quelltext bearbeiten]
Bei der Division wird entschieden, ob der Divisor kleiner oder gleich eines Teils des Dividenden ist. Ist die Antwort „ja“ so ist die Quotientenziffer , ansonsten .
Runden[Bearbeiten | Quelltext bearbeiten]
Die allgemeine Regel beim Runden von binären Faktoren zur n-ten Stelle ist, dass man die darauffolgende Ziffer betrachtet. Ist die Ziffer , dann sollte die Zahl immer abgerundet werden. Ist sie stattdessen und min. eine folgenden Ziffern auch ist, dann sollte die Zahl aufgerundet werden. Falls aber alle folgenden Ziffern sind, dann kommt „ties to even“ ins Spiel. Diese Regel sagt, dass man zur Ziffer, die an der -ten Stelle hat, runden soll.
- rundet runter zu , da die Ziffer and der dritten Stelle ist.
- aufrunden zu , da die Ziffer an der dritten Stelle ist und eine folgende Ziffer ist.
- "ties to even"; aufrunden zu , da die Ziffer an dritter Stelle ist und die folgende .
- "ties to even"; abrunden zu
Darstellung negativer Zahlen[Bearbeiten | Quelltext bearbeiten]
Vorzeichen und Betrag[Bearbeiten | Quelltext bearbeiten]
Bei dieser Darstellung wird das positive Vorzeichen mit dargestellt und das negative Vorzeichen mit einer . Die restlichen Bits sind der Betrag der darzustellenden Zahl. Vorzeichen müssen getrennt vom Betrag behandelt werden. Die Ordnungsrelation gilt nur innerhalb der positiven Zahlen. Negative Zahlen werden hinten einfach angeknüpft. Die Zahl besitzt daher zwei Darstellungen
Einerkomplement[Bearbeiten | Quelltext bearbeiten]
Hier unterscheiden sich negative Zahlen von den positiven durch das Vertauschen von und im Betrag und Vorzeichen. Der Ausgangspunkt ist immer der positive Betrag der Zahl. Auch hier besitzt zwei Darstellungen Positive und negative Zahlen können am führenden Bit unterschieden werden.
Die Ordnungsrelation gilt getrennt innerhalb der positiven und negativen Zahlen, aber auch hier werden die negativen Zahlen „hinter“ den positiven positioniert. Denkt man sich die Zahlen auf einem Kreis angeordnet, erkennt man, dass aufgrund der zweifachen Darstellung der Probleme auftreten können. Daher muss bei einem Überlauf addiert werden.
Eine tatsächliche Überschreitung des Zahlenbereiches kann durch einen Plausibilitätstest des Vorzeichens erkannt werden. Z. B. kann die Summe zweier negativer Zahlen nicht positiv sein, also muss bei der Addition ein wirklicher Überlauf entstanden sein.
Zweierkomplement[Bearbeiten | Quelltext bearbeiten]
Bei der Zweierkomplementdarstellung ist der Ausgangspunkt das Einerkomplement der Zahl. Bei der Berechnung negativer Zahlen muss eine dazu addiert werden.
Alternativ können die binären Ziffern der positiven Zahl von rechts nach links exkl. der ersten kopiert werden und die restlichen Ziffern werden komplementiert.
Die Ordnungsrelation ist wie beim Einerkomplement. Jedoch hat die Zahl eine eindeutige Darstellung, wodurch man Überläufe bei Rechnungen ignorieren kann. Positive und negative Zahlen können am führenden Bit unterschieden werden. Eine tatsächliche Überschreitung des Zahlenbereiches kann wieder durch einen Plausibilitätstest des Vorzeichens erkannt werden.
Bei der Multiplikation müssen die Faktoren vor Durchführung der Rechenoperation um 2mal der ursprünglichen Bitstellen erweitert werden. Dabei ist zu beachten, dass positive Zahlen mit Nullen und negative mit Einsern ergänzt werden müssen, um das Vorzeichen nicht zu zerstören.
Exzessdarstellung[Bearbeiten | Quelltext bearbeiten]
Bei dieser Darstellung wird ein Exzess addiert, sodass Zahlen nicht mehr negativ sind. Das heißt, dass Zahlen in Exzessdarstellung um größer sind als sie eigentlich sind. Exzess ergibt sich aus dem Betrag der kleinsten negativen Zahl. Bei einem symmetrischen Exzess liegt die halbwegs in der Mitte des Zahlenstrahls. Die Darstellung ist ordnungshaltend; kleinere Zahlen sind auch in Exzessdarstellung kleiner. Die Zahl hat eine eindeutige Darstellung. Ist die Darstellung nicht symmetrisch, wird trotzdem die kleinste darstellbare negative Zahl als Exzess verwendet.
Rechenoperationen[Bearbeiten | Quelltext bearbeiten]
Bei Additionen muss der Exzess von der Summe subtrahiert werden und bei Subtraktionen zur Summe addiert.
Nützliche Links[Bearbeiten | Quelltext bearbeiten]
- Online-Umrechner für verschiedene Zahlensysteme [1]
- Binär-Rechner [2]
- Umrechnung von Zahlensystemen mit Erklärung [3]
Quellen[Bearbeiten | Quelltext bearbeiten]
Erster TGI-Foliensatz "Zahlendarstellung"
Blieberger, J.; Burgstaller, B.; Schildt, G.-H.: Informatik, Grundlagen, 2011. Fünfte Auflage.