Einerkomplement
Einerkomplement-Darstellung: bitweise Invertierung, äquivalent zu Ergebnis = (2^n − 1) − Wert. Hat zwei Nulldarstellungen (+0 und −0).
Einerkomplement berechnen
Einerkomplement-Darstellung: bitweise Invertierung, äquivalent zu Ergebnis = (2^n − 1) − Wert. Hat zwei Nulldarstellungen (+0 und −0).
- Ergebnis — Einerkomplement
- Wert — Ausgangswert
- n — Bitbreite
Worum geht es?
Das Einerkomplement ist die bitweise Negation eines Binärwerts: Jede 0 wird zu 1 und umgekehrt. Mathematisch lässt sich das geschlossen ausdrücken: Ergebnis = (2^n − 1) − Wert. Der Term 2^n − 1 ist die Bitmaske mit n gesetzten Einsen — also 0xFF bei n = 8.
In modernen CPUs wird das Einerkomplement nicht mehr als Vorzeichensystem verwendet (Nachteil: zwei Null-Darstellungen, +0 und −0), bleibt aber als Operation in Bit-Tricks, IPv4-Header-Checksummen und Prüfsummen lebendig.
Die Formel
Ergebnis = (2^n − 1) − Wert
Umstellungen:
Wert = (2^n − 1) − Ergebnis
n = ⌈log₂(Wert + Ergebnis + 1)⌉Die Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| Wert | Ausgangswert | — | Positiver Ausgangswert. |
| n | Bitbreite | Bit | Anzahl Bits. |
| Ergebnis | Einerkomplement | — | Bitweise invertierter Wert. |
Minimal-Beispiel
Einerkomplement von 5 in 8 Bit:
Ergebnis = (2^8 − 1) − 5
= 255 − 5
= 250 (entspricht 1111 1010₂)Praxis-Beispiele
Beispiel 1 — Bitweise Sicht
5 = 0000 0101
~5 (8 Bit)= 1111 1010Genau jedes Bit ist gekippt — keine Addition wie beim Zweierkomplement.
Beispiel 2 — Zwei Null-Darstellungen
Im Einerkomplement gibt es +0 (0000 0000) und −0 (1111 1111):
Ergebnis = 255 − 0
= 255 (= 1111 1111 = −0)Diese Doppeldeutigkeit ist der Hauptgrund, warum CPUs heute Zweierkomplement bevorzugen.
Beispiel 3 — IPv4-Header-Checksumme
Die IPv4-Prüfsumme nutzt das Einerkomplement von Wortsummen. Ein gesetztes Bit lässt sich mit dem Einerkomplement gezielt löschen, ohne andere Bits zu beeinflussen — eine Eigenschaft, die in Netz-Protokollen historisch konsequent ausgenutzt wurde.