Was Zweierkomplement bedeutet
Das Zweierkomplement ist die übliche Darstellung vorzeichenbehafteter Ganzzahlen. Bei fester Breite trägt das höchstwertige Bit ein negatives Gewicht, während die übrigen Stellen positive Zweierpotenzen behalten. In acht Bits steht 11010110 für -42, vorzeichenlos jedoch für 214.
Die Breite gehört zur Interpretation. 11111111 bedeutet in acht Bits -1 oder 255; 0000000011111111 bedeutet in sechzehn Bits +255. Deshalb muss vor jeder Umwandlung 8, 16, 32 oder 64 Bit gewählt werden.
So verwendest du den Konverter
Lege zuerst Interpretation und Breite fest.
- Wähle signiertes Dezimal, vorzeichenloses Dezimal oder exakte Bitfolge.
- Wähle 8, 16, 32 oder 64 Bit.
- Gib den Wert ein; eine Bitfolge muss exakt so lang sein wie die Breite.
- Klicke auf Konvertieren, um Bits, Hex und beide Dezimaldeutungen zu sehen.
- Prüfe die Breite gegen Register, Protokoll oder Dateiformat.
Beispiele nach Breite
Dasselbe Muster kann je nach Breite und Vorzeichenregel etwas anderes bedeuten.
| Eingabe | Ausgabe | Erklärung |
|---|---|---|
| -1, 8 Bit | 11111111 | Alle Einsen sind die kanonische Darstellung von -1. |
| -128, 8 Bit | 10000000 | Kleinster signierter 8-Bit-Wert. |
| 127, 8 Bit | 01111111 | Größter positiver signierter 8-Bit-Wert. |
| 214 vorzeichenlos, 8 Bit | 11010110 = -42 signiert | Nur die Interpretation ändert sich. |
| -32768, 16 Bit | 1000000000000000 | Untergrenze für 16 Bit. |
| 18446744073709551615 vorzeichenlos, 64 Bit | 64 Einsen = -1 signiert | Das vorzeichenlose Maximum setzt jedes Bit. |
Format und Wertebereiche
Signiertes Dezimal reicht von -2^(w-1) bis 2^(w-1)-1. Vorzeichenloses Dezimal reicht von 0 bis 2^w-1. Eine Binärfolge darf nur 0 und 1 enthalten und muss nach Entfernen von Leerzeichen und Unterstrichen genau w Stellen haben.
Präfixe, Vorzeichenerweiterung und Nullerweiterung werden nicht erraten. Bei einem Wechsel von 8 auf 16 Bit gib den gewünschten Wert bewusst neu ein.
- 8 Bit signiert: -128 bis 127; vorzeichenlos: 0 bis 255.
- 16 Bit signiert: -32768 bis 32767.
- 32- und 64-Bit-Werte werden mit BigInt exakt verarbeitet.
- Die Hexausgabe wird auf die vollständige Breite mit Nullen aufgefüllt.
Berechnung des Musters
Für einen negativen Wert x bei Breite w lautet das vorzeichenlose Muster 2^w + x. Es liegt damit zwischen 0 und 2^w - 1 und kann in exakt w Bits formatiert werden.
Beim Dekodieren bleibt ein Muster mit Vorzeichenbit 0 unverändert. Ist das Vorzeichenbit 1, wird für die signierte Interpretation 2^w abgezogen. Die vorzeichenlose Interpretation ist immer der direkte Musterwert.
BigInt verhindert Rundung bei 64-Bit-Zahlen, die häufig außerhalb des exakten Number-Bereichs liegen.
Praktische Einsatzfälle
Zweierkomplement ist relevant, sobald eine Integerbreite festgelegt ist.
Register und Debugger
Lies Speicherwörter und hexadezimale Registerwerte.
Binärprotokolle
Prüfe int8-, int16-, int32- und int64-Felder.
Emulatoren und Compiler
Teste Vorzeichenerweiterung, Grenzen und Konstanten.
Sprachgrenzen
Vergleiche dieselben Bits in signierten und vorzeichenlosen Typen.
Fehler und Grenzen
Die falsche Bitbreite ist die häufigste Ursache unerwarteter Ergebnisse.
Außerhalb des Bereichs
Der Wert wird abgewiesen und nicht auf die unteren Bits gekürzt.
Falsche Bitanzahl
Eine exakte Bitfolge muss die gewählte Breite besitzen.
Vorzeichen und Betrag verwechseln
Das höchste Bit ist kein separates Minuszeichen, sondern Teil der Gewichtung.
Vorzeichenerweiterung vergessen
Beim Verbreitern negativer Werte wird das höchste Bit wiederholt, nicht mit Null aufgefüllt.
Abgrenzung zu verwandten Werkzeugen
Darstellung, Basiswechsel und bitweise Operation sind verschiedene Aufgaben.
Dezimal zu Binär
Kann nur einen Betrag ohne Breite zeigen; hier sind Breite und Vorzeichen fest.
Bitweise Berechnung
Verändert Muster; dieser Konverter interpretiert ein einzelnes Muster.
IEEE 754
Gleitkomma nutzt Vorzeichen, Exponent und Bruch statt Zweierkomplement.
Zahlensystem-Konverter
Bewahrt den mathematischen Integer ohne signierten Festbereich.