T07-Kodierung-von-Zahlen-und-Zehnerkomplement
Kodierung von Zahlen & Zehnerkomplement
Zusammenfassung
Dieses Thema behandelt die Kodierung ganzer Zahlen in Rechnersystemen — von positional notation über Festkommazahlen bis hin zu Vorzeichen-Darstellungen (Betrag/Vorzeichen, Einerkomplement, Zweierkomplement). Der zentrale Transfer-Skill für die Klausur ist die Verallgemeinerung des Zweierkomplements vom Binärsystem ins Dezimalsystem: das Zehnerkomplement. Die Klausur (A5, 16P) verlangt drei Beweise: (a) Induktion über die geometrische Summenformel, (b) Beweis der Zehnerkomplement-Addition
Wichtig: Die Vorlesung lehrt das Zweierkomplement (Basis 2). Die Klausur fragt das Zehnerkomplement (Basis 10) ab. Man muss den Beweis selbstständig auf Basis 10 übertragen.
Exam-Relevanz
Aufgabe 5 — Zehnerkomplement & Bit-Operationen (4 + 4 + 8 = 16 Punkte)
| Teilaufgabe | Punkte | Inhalt |
|---|---|---|
| A5a | 4P | Induktionsbeweis: |
| A5b | 4P | Beweis: |
| A5c | 8P | Beweis vervollständigen: Bit-Counting mit |
Unterschied zwischen Klausuren
| Klausur | A5c Formel (Einleitung) | C-Notation | Beweis-Skeleton |
|---|---|---|---|
| WS 2024/25 (Exam) | x & (~x + 1) |
||
| SoSe 2026 (probeklausur) | x & (~x - 1) |
Achtung:
bedeutet bitweises Komplement (NOT), also in C-Notation. Der Beweis-Skeleton verwendet in beiden Klausuren , das das lowest set bit löscht. Der Einleitungstext nennt abweichende Formeln — möglicherweise Tippfehler oder Kontext. Siehe Abschnitt Bit-Counting Trick für Details.
In beiden Klausuren ist die Definition der Zehnerkomplement-Darstellung gegeben:
mit
Zahlensysteme
Definition: Ein Zahlensystem ist ein Tripel
: Basis des Stellenwertsystems : -elementige Menge von Ziffern (Symbolen) : umkehrbar eindeutige Abbildung
Übersicht
| System | Basis |
Ziffern |
|---|---|---|
| Dualsystem (Binär) | 2 | |
| Oktalsystem | 8 | |
| Dezimalsystem | 10 | |
| Hexadezimalsystem | 16 |
Positional Notation (Stellenwertsystem)
Der Wert einer nichtnegativen Festkommazahl
ist
Beispiel (
Basiskonversion
- Dezimal
Basis : Wiederholte Division durch , Reste ergeben Ziffern (LSB zuerst) - Basis
Dezimal: Auswerten der obigen Summenformel - Binär
Oktal: Jeweils 3 Bits 1 Oktalziffer - Binär
Hex: Jeweils 4 Bits 1 Hexziffer
Festkommazahlen
Eine Festkommazahl hat
Das höchstwertigste Bit
: nichtnegative Zahl : negative Zahl (je nach Darstellung unterschiedlich interpretiert)
Drei Darstellungen negativer Zahlen
Betrag und Vorzeichen (BV):
Einerkomplement (1):
Zweierkomplement (2):
Vergleich ( , 3-Bit-Zahlen)
000 |
0 | 0 | 0 |
001 |
1 | 1 | 1 |
010 |
2 | 2 | 2 |
011 |
3 | 3 | 3 |
100 |
0 | -3 | -4 |
101 |
-1 | -2 | -3 |
110 |
-2 | -1 | -2 |
111 |
-3 | 0 | -1 |
Eigenschaften
| Eigenschaft | BV | Einerkomplement | Zweierkomplement |
|---|---|---|---|
| Bereich | symmetrisch | symmetrisch | asymmetrisch |
| Kleinste Zahl | |||
| Größte Zahl | |||
| Inverses durch | kompl. 1. Bit | kompl. alle Bits | kompl. alle Bits, add. 1 |
| Null | 2 Darstellungen | 2 Darstellungen | 1 Darstellung (eindeutig) |
Festkommazahlen mit Nachkommastellen
Für
Einerkomplement mit
Zweierkomplement mit
Bei
wird im Einerkomplement die größte darstellbare Zahl subtrahiert; im Zweierkomplement wird mehr subtrahiert als im Einerkomplement, um die Eindeutigkeit der Null zu gewährleisten.
Probleme von Festkommazahlen
- Größte Zahl:
, kleinste positive: - Operationen nicht abgeschlossen:
nicht darstellbar - Assoziativgesetz gilt nicht (Bereichsüberschreitung)
Zweierkomplement
Definition
Äquivalent: Für eine
Wertebereich
Asymmetrisch: eine negative Zahl mehr als positive.
Inversionslemma
Lemma: Sei
Beweisidee (aus Blatt03 Aufgabe 3):
Sei
Mit der geometrischen Summenformel
Daher:
Einerkomplement-Inversionslemma
Lemma:
Addition und Subtraktion
Die Addition im Zweierkomplement funktioniert wie gewöhnliche Binäraddition; eventuelle Überträge über das höchste Bit hinaus werden verworfen.
Beispiel (4-Bit Zweierkomplement):
Overflow-Erkennung
Ein Overflow tritt auf, wenn beide Operanden dasselbe Vorzeichen haben, das Ergebnis aber das entgegengesetzte Vorzeichen trägt.
Beispiel (6-Bit, aus Blatt08 Aufgabe 6):
Zehnerkomplement
Dies ist der zentrale Transfer der Klausur. Die Vorlesung lehrt das Zweierkomplement (Basis 2). Die Klausur verlangt das analoge Vorgehen für Basis 10.
Definition
Analog zum Zweierkomplement im Binärsystem definiert man das Zehnerkomplement im Dezimalsystem:
mit
: nichtnegative Zahl, Wert : negative Zahl, Wert
Wertebereich (für Ziffern + Vorzeichen)
Asymmetrisch (analog zum Zweierkomplement:
Neunerkomplement (analog zum Einerkomplement)
Komplementieren einer Ziffer
Lemma 1 (Neunerkomplement):
Zehnerkomplement: Komplementierung
Das Komplementieren erfolgt analog zum Binärsystem. Im Binärsystem (Basis
Im Dezimalsystem (Basis
Warum nicht
? Würde man das Vorzeichenbit mit komplementieren, erhielte man , was kein gültiges Vorzeichenbit ist. Die Zehnerkomplement-Darstellung verlangt . Daher wird das Vorzeichenbit separat behandelt: (flip ), während die restlichen Ziffern mit komplementiert werden.
Zusammenfassung der Komplementierung:
| Ziffer | Komplementierung |
|---|---|
Lemma 2 (Zehnerkomplement):
wobei
Beweis von Lemma 2 (A5b — 4P)
Zu beweisen:
Sei
Ausmultiplizieren:
Mit der Summenformel aus A5a, angewendet als
Zusammenfassen (
Erkenne die Definition von
Daher:
Analogie zum Zweierkomplement: Der Beweis ist strukturell identisch mit dem Zweierkomplement-Beweis aus Blatt03 Aufgabe 3. Im Binärsystem gilt
(denn ), im Dezimalsystem gilt (denn ). Der Rest des Beweises verläuft analog.
Verallgemeinerung auf beliebige Basis
Für ein Zahlensystem mit Basis
- Komplementieren einer Ziffer
: -Komplement (analog Einerkomplement): -Komplement (analog Zweierkomplement):
| Binär ( |
Dezimal ( |
|---|---|
| Einerkomplement | Neunerkomplement |
| Zweierkomplement | Zehnerkomplement |
| Ziffer komplementieren: |
Ziffer komplementieren: |
Worked Example: Zehnerkomplement-Arithmetik
Beispiel (
Stelle
Für
Komplementieren von
- Vorzeichenbit invertieren:
- Restliche Ziffern komplementieren (
): - Ergebnis:
(Neunerkomplement mit invertiertem Vorzeichen)
Probe mit Lemma 2:
Um das tatsächliche Inverse (
Addition
Als Ziffernaddition:
Analogie zum Binärsystem: Im Zweierkomplement funktioniert die Subtraktion
als , wobei durch Komplementieren aller Bits und erhalten wird. Der Übertrag über das höchste Bit hinaus wird verworfen. Genauso funktioniert das Zehnerkomplement: durch Komplementieren der Ziffern und , Übertrag über hinaus verwerfen.
Bit-Counting Trick
A5c (8P) — unabhängig von A5a/A5b. Verlangt das Vervollständigen eines Beweises.
Der Trick
Die Operation
Beispiel:
Das Bit an Position 2 (Wert 4) wurde gelöscht. Wiederholung:
Nach 2 Iterationen ist
Beweisstruktur (klausurrelevant)
Der Beweis aus der Klausur (sowohl Exam.md als auch probeklausur) hat folgende Struktur:
Sei k := 0.
So lange die Zahl x nicht 0 ist:
x = a_n..a_{n-i+1} 1 0..0 (wo i die Anzahl an 0 nach der 1 ist)
⇐⇒ x - 1 = a_n..a_{n-i+1} 0 1..1
=⇒ x := x & (x - 1) = a_n..a_{n-i+1} 0 0..0
k := k + 1
Jetzt hat x genau eine '1' weniger, während k um genau eins erhöht wird.
End der Schleife.
Insgesamt ist also k genau die Anzahl von Einsern in x am Anfang.
Zu vervollständigen sind die leeren Felder — d.h. man muss die einzelnen Schritte begründen:
- Darstellung von
: Wenn , hat eine niedrigste 1 an Position (mit Nullen danach): - Subtraktion von 1:
(Borrow propagiert durch die Nullen, dreht die 1 zu 0 und alle Nullen zu Einsen) - Bitweises AND:
: Die Bits oberhalb von Position bleiben gleich (beide haben dort gleiche Bits), an Position wird , und darunter wird . - Ergebnis: Genau das niedrigste gesetzte Bit wurde gelöscht. Alle anderen Bits unverändert.
- Schleifeninvariante:
zählt die Anzahl gelöschter Bits = Anzahl der ursprünglichen Einsen.
Popcount-Algorithmus
int popcount(unsigned int x) {
int k = 0;
while (x != 0) {
x = x & (x - 1); // lösche lowest set bit
k++;
}
return k;
}
Laufzeit:
Klausurvariante: vs.
Der Beweis-Skeleton verwendet in beiden Klausuren
| Klausur | Einleitungstext | C-Notation | Bedeutung |
|---|---|---|---|
| WS 2024/25 | x & (~x + 1) |
||
| SoSe 2026 | x & (~x - 1) |
Wichtig: Der Beweis-Skeleton in beiden Klausuren verwendet
, nicht die im Einleitungstext genannte Formel. bedeutet bitweises Komplement ( ). Im Zweierkomplement gilt .
: löscht das lowest set bit (der Beweis-Skeleton) : isoliert das lowest set bit (WS 2024/25 Einleitung) Diese beiden Operationen sind verschieden, aber verwandt:
. In der Klausur: Fülle den Beweis-Skeleton aus, der
verwendet. Der Einleitungstext beschreibt möglicherweise den Kontext oder enthält einen Tippfehler. Konzentriere dich auf das, was der Skeleton verlangt.
Induktionsbeweis (Summenformel)
A5a (4P) — Induktionsbeweis der geometrischen Summenformel.
Zu beweisen (Klausur)
Die Klausur (sowohl Exam als auch probeklausur) gibt vor:
Hinweis: Diese Formel ist für Basis 10 mathematisch nicht korrekt (z.B.
: ). Die korrekte Formel ist — dies ist die direkte Verallgemeinerung von (Basis 2), denn für und für . Die Klausur formuliert vermutlich oder verwendet die allgemeine geometrische Summenformel . In der Klausur: Beweise die Formel, die tatsächlich gefordert ist.
Beweis: (korrigierte Version)
Induktionsanfang (
Induktionsvoraussetzung (IV): Für ein festes
Induktionsbehauptung (IB): Für
Induktionsschritt (
Alternative: Allgemeine geometrische Summenformel
Spezialfälle:
| Basis |
Formel | Verwendung |
|---|---|---|
| Zweierkomplement-Beweis (Blatt03 A3) | ||
| Zehnerkomplement-Beweis (A5b) | ||
| A5b (direkt anwendbar) |
Im Zehnerkomplement-Beweis (A5b) benötigt man die Formel in der Form:
Beweis: (für Zweierkomplement)
IA (
IV:
IS (
Typische Klausuraufgabe
Struktur von A5 (16P)
Die Aufgabe besteht aus drei unabhängigen Teilen:
A5a (4P) — Induktionsbeweis:
- Gegeben: Formel
(oder korrigierte Version) - Gefordert: Vollständige Induktion (IA, IV, IB)
- Zeitaufwand: ~4 Minuten
- Häufige Fehler: Falscher Induktionsanfang, fehlende IV, Rechenfehler im IS
A5b (4P) — Zehnerkomplement-Beweis:
- Gegeben: Definition
- Gefordert: Beweis von
(wobei komplementierte Ziffern) - Werkzeug: Geometrische Summenformel aus A5a, Definition des Zehnerkomplements
- Transfer: Analog zum Zweierkomplement-Beweis aus Blatt03 Aufgabe 3
- Zeitaufwand: ~4 Minuten
A5c (8P) — Bit-Counting Beweis:
- Gegeben: Beweis-Skeleton mit Lücken
- Gefordert: Lücken ausfüllen und begründen
- Inhalt:
löscht das lowest set bit (bzw. Klausurvariante mit ) - Hinweis: Probe mit
- Zeitaufwand: ~7 Minuten
- Häufige Fehler: Falsche Bit-Darstellung, AND nicht korrekt ausgewertet
Was gegeben ist
- Die Definition der Zehnerkomplement-Darstellung
- Die zu beweisenden Formeln
- Der Beweis-Skeleton für A5c (mit Lücken)
Was erwartet wird
- Sauberer Induktionsbeweis mit allen Schritten (IA, IV, IS explizit)
- Algebraische Manipulation der Zehnerkomplement-Definition unter Verwendung der Summenformel
- Logisches Schlussfolgern beim Bit-Counting-Beweis (Bit-Darstellung, AND-Verhalten)
- Probe-Rechnung mit dem gegebenen Beispiel
Übungsblätter
| Blatt | Aufgabe | Punkte | Inhalt | Link |
|---|---|---|---|---|
| 3 | Aufgabe 2 | 4P | Konvertierung in BV/Einer-/Zweierkomplement | Blatt03 |
| 3 | Aufgabe 3 | 3P | Beweis Inversionslemma |
Blatt03 |
| 4 | Aufgabe 3 | 8P | Neunerkomplement, Zehnerkomplement, Verallgemeinerung Basis |
Blatt04 |
| 4 | Aufgabe 4 | 5P | Festkommazahlen mit Nachkommastellen, Zweierkomplement 8-Bit | Blatt04 |
| 8 | Aufgabe 6 | 3P | 6-Bit Zweierkomplement-Addition, Overflow-Erkennung | Blatt08 |
Wichtigste Übungen für A5
Quellen
| Typ | Titel | Link |
|---|---|---|
| Slide | 2.1 Kodierung von Zeichen | k210-Kodierung_von_Zeichen |
| Slide | 2.2 Kodierung von Zahlen | k220-Kodierung_von_Zahlen |
| Exercise | Übungsblatt 3 | Blatt03 |
| Exercise | Übungsblatt 4 | Blatt04 |
| Exercise | Übungsblatt 8 | Blatt08 |
| Exam | Klausur WS 2024/25 | Exam |
| Exam | Probeklausur SoSe 2026 | probeklausur |
Priorität
CRITICAL — A5 ist eine von 6 Klausuraufgaben (16P von 96P = 17%). Diese Aufgabe ist rein beweisorientiert und erfordert keine Kreativität, sondern Beherrschung von:
- Vollständiger Induktion (Standardtechnik)
- Algebraischer Manipulation der Komplement-Definitionen
- Bit-Operationen und deren Beweis
Lernstrategie:
- Den Zweierkomplement-Inversionsbeweis (Blatt03 A3) auswendig verstehen
- Den Transfer auf Basis 10 üben (Blatt04 A3)
- Den Bit-Counting-Beweis mit Beispiel
durchspieln - Induktionsbeweis der geometrischen Summenformel üben (sowohl
als auch ) Zeitbudget in der Klausur: ~15 Minuten für A5 (von 90 Minuten gesamt)