Technische Informatik
Zahlen im Rechner: Stellenwertsysteme, negative Zahlen, Gleitkomma
Warum 0,1 + 0,2 im Rechner nicht genau 0,3 ergibt und wieso eine Null im Zweierkomplement zwei Darstellungen hätte.
Benötigte Grundlagen
Dieses Vorwissen brauchst du für das Kapitel. Schau kurz nach, wenn dir etwas davon nicht mehr präsent ist, sonst leg direkt los.
Einführung
Tippe in fast jeder Programmiersprache ein und lass das Ergebnis anzeigen. Heraus kommt nicht , sondern .
Das ist kein Fehler der Sprache und kein Defekt des Rechners. Es ist eine unvermeidliche Folge davon, wie Zahlen im Speicher stehen, und wer das versteht, vermeidet eine ganze Klasse von Fehlern.
In diesem Kapitel geht es um drei Fragen: Wie stellt ein Rechner überhaupt Zahlen dar? Wie kommen negative Zahlen dazu, wenn es nur Nullen und Einsen gibt? Und wo genau entstehen die Ungenauigkeiten?
Das kannst du nach diesem Kapitel
zwischen Dezimal-, Dual- und Hexadezimalsystem umrechnen.
erklären, warum das Hexadezimalsystem für Bitmuster besonders praktisch ist.
negative Zahlen im Zweierkomplement darstellen und begründen, warum diese Darstellung gewählt wurde.
den Zahlbereich einer festen Bitzahl bestimmen und einen Überlauf erkennen.
die Gleitkommadarstellung beschreiben und typische Rundungsfehler erklären (Vertiefung).
Kurz aufgefrischt
Vorausgesetzt wird aus Codierung: Zeichen, Zahlen und Bilder und Digitale Darstellung, dass jede im Rechner als Folge von vorliegt und dass sich Dezimalzahlen ins Dualsystem umrechnen lassen.
Neu ist hier alles, was über nichtnegative ganze Zahlen hinausgeht.
Stellenwertsysteme allgemein
Unser Dezimalsystem hat nichts Zwingendes an sich; die Zehn stammt von den Fingern. Allgemein gilt für ein System mit der Basis :
Jede Ziffer liegt zwischen und , und ihre Stelle bestimmt die Potenz.
Der Rechner benutzt , weil sich zwei technisch zuverlässig unterscheiden lassen: Spannung liegt an oder nicht.
1011₂ Stelle für Stelle
Lies die Tafel von oben nach unten: Über jeder Ziffer steht ihre Stelle als Zweierpotenz, darunter der Wert, den diese Ziffer beisteuert. Eine 0 steuert nichts bei, eine 1 den vollen Stellenwert. Unten wird aufsummiert: . Das ist dieselbe Rechnung, die du im Dezimalsystem längst machst, ohne es zu merken, . Nur die Basis ist eine andere, und an der Zehn ist nichts Zwingendes; sie stammt von den Fingern. Der Rechner nimmt die Zwei, weil sich zwei technisch zuverlässig unterscheiden lassen: Spannung liegt an oder nicht.
Warum zusätzlich Hexadezimal?
Dualzahlen sind für Menschen unhandlich lang. ist ; man verzählt sich sofort.
Das Hexadezimalsystem mit löst das elegant. Es braucht sechzehn Ziffern, deshalb kommen bis für 10 bis 15 dazu.
| Dual | Hex | Dez | Dual | Hex | Dez | |
|---|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 | |
| 0001 | 1 | 1 | 1001 | 9 | 9 | |
| 0010 | 2 | 2 | 1010 | A | 10 | |
| 0011 | 3 | 3 | 1011 | B | 11 | |
| 0100 | 4 | 4 | 1100 | C | 12 | |
| 0101 | 5 | 5 | 1101 | D | 13 | |
| 0110 | 6 | 6 | 1110 | E | 14 | |
| 0111 | 7 | 7 | 1111 | F | 15 |
🔴 Der entscheidende Punkt: . Deshalb entspricht genau eine Hexadezimalziffer genau vier , und die Umrechnung ist reines Ablesen in Vierergruppen, ohne jede Rechnung.
Genau deshalb siehst du Hexadezimal überall dort, wo Bitmuster gemeint sind: bei Farbangaben wie , bei Speicheradressen und bei MAC-Adressen. Es ist keine andere , nur eine lesbarere Schreibweise derselben Bits.
Vier Bits sind eine Hexziffer
Der Grund, warum das so glatt aufgeht, steht in einer einzigen Gleichung: . Deshalb entspricht genau eine Hexadezimalziffer genau vier , die Umrechnung ist reines Ablesen in Vierergruppen, ohne jede Rechnung. Vergleiche das mit : Bei acht Einsen verzählt man sich sofort, bei nicht. Und halte fest, was hier nicht passiert: Es geht keine verloren und es kommt keine hinzu. Hexadezimal ist keine andere Zahl, nur eine lesbarere Schreibweise derselben Bits. Genau deshalb siehst du es überall dort, wo Bitmuster gemeint sind, bei Farbangaben wie , bei Speicheradressen und bei MAC-Adressen.
Negative Zahlen: das Zweierkomplement
Im Speicher gibt es kein Minuszeichen, nur . Die Darstellung negativer Zahlen muss also aus den Bits selbst hervorgehen.
Der naheliegende Weg wäre, das erste Bit als Vorzeichen zu benutzen. Diese Vorzeichen-Betrag-Darstellung hat aber zwei Nachteile:
- Es gäbe () und (), also zwei Nullen. Jeder Vergleich auf null müsste beide Fälle prüfen.
- Die Addition würde eine Fallunterscheidung nach den Vorzeichen brauchen, also zusätzliche Schaltung.
Deshalb benutzen Rechner das Zweierkomplement. Die Bildungsregel für bei Bits:
Alle Bits umkehren (0 wird 1, 1 wird 0). Eins addieren.
Beispiel für bei 8 Bit:
5 = 0000 0101
umkehren = 1111 1010
+ 1 = 1111 1011 → -5
Warum funktioniert das? Weil die Regel genau die Zahl erzeugt, die bei der Addition zu null ergibt:
0000 0101 ( 5)
+ 1111 1011 ( -5)
-----------
1 0000 0000
Das Ergebnis hat neun Stellen. Bei 8 Bit fällt die vorderste heraus, übrig bleibt , also null. Genau das soll leisten.
Damit sind beide Nachteile behoben. Es gibt nur eine Null, und die Addition funktioniert für positive und negative Zahlen mit derselben Schaltung. Der Prozessor muss die Vorzeichen gar nicht ansehen.
Das vorderste Bit zeigt trotzdem das Vorzeichen an: 0 heißt nicht negativ, 1 heißt negativ. Das ist aber eine Folge der Konstruktion und nicht ihre Grundlage.
5 + (−5) muss null ergeben
Hier ist die Probe darauf, dass die Bildungsregel stimmt. entsteht aus durch Umkehren aller und Addition von eins; die Behauptung ist, dass diese Zahl bei der Addition zu null ergibt. Rechne die Spalten von rechts nach links mit, die stehen oben und du landest bei . Das Ergebnis hat neun Stellen, der Rechner hat aber nur acht: Die vorderste, gestrichelt eingerahmte fällt heraus, übrig bleibt . 🔴 Und das ist kein hingenommener Fehler, sondern genau der Mechanismus: Bei Bit rechnet die Hardware ohnehin modulo , und das Zweierkomplement ist so gebaut, dass diese Rechnung das richtige Ergebnis liefert.
Zahlbereich und Überlauf
Bei gibt es verschiedene Bitmuster, also auch nur darstellbare Zahlen.
| Bits | ohne Vorzeichen | Zweierkomplement |
|---|---|---|
| 8 | ||
| 16 | ||
| 32 |
Fällt dir die Unsymmetrie auf? Bei 8 Bit reicht der Bereich von bis , also eine negative Zahl mehr als positive. Der Grund: Die Null belegt einen der 256 Plätze, und sie zählt zur nichtnegativen Seite. Bleiben 127 positive und 128 negative.
Wird der Bereich verlassen, entsteht ein Überlauf. Bei 8 Bit im Zweierkomplement:
Die größte positive Zahl plus eins ergibt die kleinste negative. Der Rechner meldet das nicht von sich aus; er rechnet einfach weiter. Genau solche Überläufe stecken hinter Programmfehlern, die erst bei großen Werten auftreten, etwa bei Zeitstempeln oder Zählerständen.
Vertiefung: Gleitkommazahlen
Dieser Abschnitt gehört zum erhöhten Anforderungsniveau.
Ganze Zahlen reichen nicht. Für oder braucht es eine andere Darstellung.
Man könnte das Komma an eine feste Stelle legen (Festkomma), etwa immer nach dem 16. . Dann ist der darstellbare Bereich aber sehr schmal: Für sehr große und sehr kleine Zahlen zugleich reicht er nicht.
Deshalb benutzt man Gleitkomma nach dem Muster der wissenschaftlichen Schreibweise:
mit Vorzeichenbit , Mantisse (die Ziffernfolge) und Exponent (die Größenordnung). Der verbreitete Standard IEEE 754 teilt 32 Bit so auf:
| Teil | Bits |
|---|---|
| Vorzeichen | 1 |
| Exponent | 8 |
| Mantisse | 23 |
Das Komma „gleitet", weil der Exponent es verschiebt. Damit lassen sich sehr große und sehr kleine Zahlen mit demselben Format darstellen.
Und hier entsteht das Problem aus der Einleitung. Die Mantisse hat endlich viele Bits, also lassen sich nur endlich viele Zahlen exakt darstellen. Entscheidend ist, welche:
Im Dezimalsystem ist nicht endlich darstellbar, weil 3 kein Teiler von 10 ist. Im Dualsystem ist nicht endlich darstellbar, weil 5 kein Teiler von 2 ist. Es entsteht die periodische Dualzahl
Der Rechner muss abschneiden, und damit steht bereits vor jeder Rechnung ein winziger Fehler im Speicher. Bei addieren sich zwei solche Fehler, und das Ergebnis liegt knapp neben .
🔴 Die praktische Folge ist eine feste Regel: Vergleiche Gleitkommazahlen nie mit Gleichheit. Statt prüft man mit einer kleinen Schranke . Und für Geldbeträge nimmt man keine Gleitkommazahlen, sondern rechnet in Cent mit ganzen Zahlen. Cent sind ganzzahlig, also entfällt das Problem vollständig.
Ein Gleitkommaformat, maßstäblich
Die drei Felder sind hier maßstäblich gezeichnet, und das ist die eigentliche : Das Vorzeichen ist ein einziges , die Mantisse belegt fast drei Viertel des Formats. Genau daran liest du ab, wo das Problem aus der Einleitung sitzt. Die Mantisse hat 23 Bit, endlich viele, also lassen sich nur endlich viele Zahlen exakt darstellen. Welche, hängt von der Basis ab: Im Dezimalsystem ist nicht endlich darstellbar, weil 3 kein Teiler von 10 ist; im Dualsystem ist nicht endlich darstellbar, weil 5 kein Teiler von 2 ist. Der Rechner muss abschneiden, und damit steht vor jeder Rechnung schon ein winziger Fehler im Speicher. Daraus folgt die feste Regel: Gleitkommazahlen nie auf Gleichheit prüfen, sondern und Geldbeträge in Cent als ganze Zahlen rechnen.
Zwischen den Systemen umrechnen
Rechne ins Dual- und ins Hexadezimalsystem um. Rechne ins Dezimalsystem.
- 1
Dezimal nach Dual, Verfahren „fortlaufend durch 2 teilen": Man notiert die Reste; sie ergeben rückwärts gelesen die Dualzahl.
173 : 2 = 86 Rest 1 86 : 2 = 43 Rest 0 43 : 2 = 21 Rest 1 21 : 2 = 10 Rest 1 10 : 2 = 5 Rest 0 5 : 2 = 2 Rest 1 2 : 2 = 1 Rest 0 1 : 2 = 0 Rest 1 - 2
Reste von unten nach oben: .
- 3
Probe: . Stimmt.
- 4
Dual nach Hex: in Vierergruppen von rechts zerlegen und jede Gruppe einzeln übersetzen.
Hier ist keine Rechnung nötig, nur die Tabelle. Das ist der ganze Vorteil des Hexadezimalsystems.
- 5
Hex nach Dezimal: Stellenwerte sind Potenzen von 16. .
- 6
Gegenprobe über Dual: , , zusammen . Beide Wege stimmen überein.
und .
Zweierkomplement bilden und prüfen
Stelle als 8-Bit-Zweierkomplement dar und weise nach, dass die Darstellung richtig ist.
- 1
Schritt 1: Betrag dual: .
- 2
Schritt 2: alle umkehren: .
- 3
Schritt 3: eins addieren:
1101 1010 + 1 ----------- 1101 1011Also .
- 4
Nachweis über die Summe: Die Darstellung ist genau dann richtig, wenn ergibt.
0010 0101 ( 37) + 1101 1011 (-37) ----------- 1 0000 0000 - 5
Die neunte Stelle passt nicht in 8 Bit und fällt weg. Übrig bleibt , also null. Der Nachweis ist erbracht.
- 6
Zweite Probe über die Stellenwerte: Im Zweierkomplement hat das vorderste Bit den Wert . Also . Auch das stimmt, und es zeigt, dass die Regel „umkehren und eins addieren" kein Trick ist, sondern eine Stellenwertdarstellung mit einem negativen höchsten Stellenwert.
, bestätigt durch und durch die Stellenwertrechnung mit .
Typischer Fehler
„Man erkennt eine negative Zahl daran, dass das erste 1 ist, also ist gleich ."
Der erste Teil stimmt, der zweite nicht, und die Verwechslung ist häufig.
Richtig ist: Im Zweierkomplement zeigt das vorderste Bit an, ob die Zahl negativ ist. Falsch ist die Annahme, die restlichen Bits seien der Betrag. Das wäre die Vorzeichen-Betrag-Darstellung, und die benutzen Rechner gerade nicht.
Rechne korrekt aus. Das vorderste Bit hat im Zweierkomplement den Stellenwert :
Oder über die Regel rückwärts: umkehren ergibt , plus eins ergibt , also war die Zahl .
dagegen ist , wie im Theorieteil gezeigt. Der Unterschied ist gewaltig, und er entsteht genau dort, wo man „erstes Bit = Vorzeichen" mit „Rest = Betrag" verwechselt.
Die Merkhilfe, die zuverlässig trägt: Im Zweierkomplement sind kleine negative Zahlen viele Einsen. ist , ist . Wer bei ein Muster mit wenigen Einsen herausbekommt, hat sich verrechnet.
Übung 1
leichta) Rechne ins Dezimal- und ins Hexadezimalsystem um. b) Rechne ins Dual- und ins Dezimalsystem um. c) Wie viele verschiedene Werte lassen sich mit 12 darstellen?
Tipp anzeigen
Zu a): Zerlege in Vierergruppen von rechts.
Lösung anzeigen
a) Dezimal: . Hexadezimal: . Probe: . Stimmt.
b) Dual: , , also . Dezimal: . Probe über Dual: .
c) verschiedene Werte, also ohne Vorzeichen bis .
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
a) Zwei Umrechnungen, zwei verschiedene Zerlegungen
Dezimal: Stellenwerte der gesetzten Bits addieren: . Hexadezimal: in Vierergruppen von rechts zerlegen, denn 4 Bit entsprechen genau einer Hexziffer: , , also .
; Probe:
Zwischenergebnis
dezimal, hexadezimal.
- 2
b) Die Gegenrichtung und die Probe über zwei Wege
Dual: Jede Hexziffer wird zu vier Bit: , , also . Dezimal: . Probe über den Dualweg: ✓
Zwischenergebnis
und dezimal.
- 3
c) Wie viele Werte 12 Bit darstellen
verschiedene Werte, ohne Vorzeichen also die Zahlen 0 bis 4095.
Zwischenergebnis
0 bis 4095.
Übung 2
mittela) Stelle als 8-Bit-Zweierkomplement dar. b) Welche Zahl ist , wenn sie als 8-Bit-Zweierkomplement gelesen wird? Und welche ohne Vorzeichen? c) Nenne zwei Gründe, warum Rechner das Zweierkomplement statt der Vorzeichen-Betrag-Darstellung benutzen. d) Welchen Wert liefert in einem 8-Bit-Zweierkomplement-Register?
Tipp anzeigen
Zu d): Schreibe zuerst den darstellbaren Bereich auf.
Lösung anzeigen
a) . Umkehren: . Plus eins: . Probe: , nach Wegfall der neunten Stelle also null. Richtig.
b) Als Zweierkomplement: Das vorderste hat den Wert , also . Ohne Vorzeichen: . Dasselbe Bitmuster, zwei völlig verschiedene Zahlen. Welche gemeint ist, steht nicht im Speicher, sondern ergibt sich aus dem , den das Programm angibt.
c) Erstens gibt es nur eine Null; bei Vorzeichen-Betrag gäbe es und , und jeder Vergleich auf null müsste beide Fälle prüfen. Zweitens funktioniert die Addition mit derselben Schaltung für alle Vorzeichenkombinationen, ohne Fallunterscheidung. Das spart Bauteile im Prozessor und macht die Rechnung schneller.
d) Der Bereich ist . liegt darüber, also gibt es einen Überlauf. Dual: . Als Zweierkomplement gelesen ist das . Der Rechner liefert also und meldet nichts. Genau daran erkennt man die Gefahr: Das Ergebnis ist nicht nur falsch, sondern hat auch noch das falsche Vorzeichen.
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
Teil a): Betrag zuerst, dann die Regel
Man schreibt immer erst den positiven Betrag dual auf und wendet dann die zwei Schritte an. Wer versucht, das Ergebnis direkt zu erraten, verrechnet sich fast sicher.
52 = 32 + 16 + 4 = 0011,0100_2
Zwischenergebnis
Umkehren , plus eins .
Die Probe gehört immer dazu. Sie kostet Sekunden und findet jeden Fehler.
- 2
Teil b): Dasselbe Muster, zwei Deutungen
Das Bitmuster allein sagt nichts. Erst die Angabe „mit Vorzeichen" oder „ohne Vorzeichen" legt den Wert fest. Bei Zweierkomplement hat das höchste Bit den Wert , ohne Vorzeichen den Wert .
-128 + 16 + 4 + 2 = -106 \qquad 128 + 16 + 4 + 2 = 150
Zwischenergebnis
beziehungsweise .
- 3
Teil c): Zwei Gründe sauber trennen
Der eine Grund betrifft die Eindeutigkeit (nur eine Null), der andere die Schaltung (eine Addition für alle Fälle). Beide gehören zur Antwort.
Zwischenergebnis
Eine Null; eine Additionsschaltung.
- 4
Teil d): Erst den Bereich, dann rechnen
Man schreibt den darstellbaren Bereich hin und prüft, ob das Ergebnis hineinpasst. Erst danach führt man die Bitaddition aus und deutet das Muster.
0111,1000 + 0000,1111 = 1000,0111
Zwischenergebnis
passt nicht in , das Register zeigt .
Beachte das Vorzeichen: Aus zwei positiven Summanden wird ein negatives Ergebnis. Genau daran erkennt die Hardware den Überlauf, und genau deshalb ist ein solcher Fehler im Programm so tückisch.
Übung 3
schwera) (Vertiefung) Erkläre, warum im Dualsystem keine endliche Darstellung hat. b) (Vertiefung) Was folgt daraus für den Vergleich zweier Gleitkommazahlen? c) Ein Programm summiert 10 000 Beträge in Euro als Gleitkommazahlen. Wo liegt das Risiko, und wie vermeidet man es? d) Warum reicht der Zahlbereich bei 8 im Zweierkomplement von bis und nicht von bis ?
Tipp anzeigen
Zu a): Welche Nenner lassen sich in einem Stellenwertsystem zur Basis endlich darstellen?
Lösung anzeigen
a) In einem Stellenwertsystem zur Basis hat ein Bruch genau dann eine endliche Darstellung, wenn sein gekürzter Nenner nur Primfaktoren von enthält. Im Dezimalsystem ist , deshalb sind und endlich, aber nicht. Im Dualsystem ist , also ist nur die Primzahl 2 erlaubt. Der Nenner von enthält den Faktor 5, deshalb wird die Darstellung periodisch:
Da die Mantisse endlich ist, muss der Rechner abschneiden. Der Wert im Speicher ist also schon vor jeder Rechnung minimal falsch.
b) Zwei Gleitkommazahlen dürfen nie mit Gleichheit verglichen werden. Selbst wenn zwei Rechenwege mathematisch dasselbe Ergebnis liefern, können sich die Rundungsfehler unterscheiden. Stattdessen prüft man, ob der Abstand klein genug ist:
Die Schranke wählt man passend zur Größenordnung der Werte.
c) Das Risiko liegt in der Anhäufung der Rundungsfehler. Jeder einzelne Betrag ist bereits minimal falsch gespeichert, und bei 10 000 Additionen summieren sich diese Abweichungen. Am Ende kann die Summe um Cent-Beträge danebenliegen, und bei einer Abrechnung ist das nicht hinnehmbar. Verschärfend kommt hinzu, dass beim Addieren sehr unterschiedlich großer Werte kleine Beträge ganz verlorengehen können, weil sie unterhalb der der großen Zahl liegen.
Lösung: In Cent als ganze Zahlen rechnen. Cent sind ganzzahlig, ganze Zahlen werden im Zweierkomplement exakt dargestellt, und damit entfällt das Problem vollständig. Erst bei der Ausgabe teilt man durch 100. Nötig ist dann nur ein ausreichend großer Ganzzahltyp, damit kein Überlauf entsteht.
d) Mit 8 Bit gibt es verschiedene Bitmuster, also genau 256 darstellbare Zahlen. Die Null belegt eines dieser Muster, nämlich . Für die positiven Zahlen bleiben damit 127 Muster ( bis ) und für die negativen 128 ( bis ). Der Bereich hätte dagegen nur 255 Werte und ließe ein Muster ungenutzt.
Man sieht es auch an der Konstruktion: ist . Wendet man darauf die Regel an (umkehren ergibt , plus eins ergibt ), kommt dieselbe Zahl heraus. existiert im Bereich nicht, weshalb die einzige Zahl ist, deren Gegenzahl sich bei 8 Bit nicht darstellen lässt.
Detaillierte Schritterklärung anzeigen
Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.
✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.
- 1
a) (Vertiefung) Die Regel über endliche Darstellungen
In einem Stellenwertsystem zur Basis hat ein Bruch genau dann eine endliche Darstellung, wenn sein gekürzter Nenner nur Primfaktoren von enthält. Im Dezimalsystem ist , deshalb sind und endlich, aber nicht. Im Dualsystem ist , also ist nur die Primzahl 2 erlaubt, und enthält den Faktor 5.
- 2
b) (Vertiefung) Was daraus für den Vergleich folgt
Zwei Gleitkommazahlen dürfen nie mit Gleichheit verglichen werden. Selbst wenn zwei Rechenwege mathematisch dasselbe Ergebnis liefern, können sich die Rundungsfehler unterscheiden. Stattdessen prüft man, ob der Abstand klein genug ist: .
- 3
c) Wo das Risiko bei 10 000 Additionen liegt
Das Risiko liegt in der Anhäufung der Rundungsfehler. Jeder einzelne Betrag ist bereits minimal falsch gespeichert, und bei 10 000 Additionen summieren sich diese Abweichungen. Am Ende kann die Summe um Cent-Beträge danebenliegen, bei einer Abrechnung nicht hinnehmbar.
- 4
c) Die Lösung: in Cent als ganze Zahlen rechnen
In Cent als ganze Zahlen rechnen. Cent sind ganzzahlig, ganze Zahlen werden im Zweierkomplement exakt dargestellt, und damit entfällt das Problem vollständig. Erst bei der Ausgabe teilt man durch 100. Nötig ist dann nur ein ausreichend großer Ganzzahltyp, damit kein Überlauf entsteht.
- 5
d) Warum der Bereich von −128 bis +127 reicht
Mit 8 Bit gibt es Bitmuster, also genau 256 darstellbare Zahlen. Die Null belegt eines davon (). Für die positiven bleiben 127 Muster ( bis ), für die negativen 128 ( bis ). Der Bereich hätte nur 255 Werte und ließe ein Muster ungenutzt.
Zusammenfassung
Jede Zahl im Rechner steht als Bitmuster, und ein Stellenwertsystem zur Basis 2 legt fest, welche Zahl gemeint ist. Das Hexadezimalsystem ist nur eine lesbarere Schreibweise derselben , praktisch deshalb, weil wegen eine Hexziffer genau vier Bits entspricht. Negative Zahlen entstehen im Zweierkomplement durch Umkehren aller Bits und Addition von eins; gewählt wurde diese Darstellung, weil sie nur eine Null kennt und weil Addition und Subtraktion damit mit einer einzigen Schaltung auskommen. Aus der festen Bitzahl folgt ein begrenzter Bereich, bei 8 Bit von bis , unsymmetrisch weil die Null einen Platz auf der positiven Seite belegt; wird er überschritten, entsteht ein Überlauf, der nicht gemeldet wird. Gleitkommazahlen speichern Vorzeichen, Mantisse und Exponent und können deshalb sehr große und sehr kleine Werte darstellen, allerdings nur endlich viele exakt. Da im Dualsystem periodisch ist, entstehen Rundungsfehler schon beim Speichern, weshalb man Gleitkommazahlen nie auf Gleichheit prüft und Geldbeträge in Cent als ganze Zahlen rechnet.


