Zweierkomplement-Rechner
Was ist das Zweierkomplement?
Das Zweierkomplement ist die übliche Art, wie Computer vorzeichenbehaftete Ganzzahlen speichern — Zahlen, die positiv oder negativ sein können — unter Verwendung einer festen Anzahl von Bits. Anstatt ein separates Symbol für das Minuszeichen bereitzustellen, werden die negativen Zahlen so codiert, dass die gewöhnliche binäre Addition einfach funktioniert, ohne besondere Behandlung des Vorzeichens. Nahezu jede moderne CPU stellt Ganzzahlen auf diese Weise dar.
Dieser Rechner nimmt eine Dezimalzahl und eine Bitbreite (8, 16 oder 32 Bit) und zeigt ihr Zweierkomplement-Muster sowohl in Binär als auch in Hexadezimal.
Wie funktioniert es?
Für eine gewählte Breite von Bit wird jeder Wert als vorzeichenloses Bitmuster gespeichert:
- Ist die Zahl nicht negativ, ist ihr Muster einfach die Binärdarstellung von , mit führenden Nullen auf Bit aufgefüllt.
- Ist die Zahl negativ, ist ihr Muster die Binärdarstellung von .
Da im zweiten Fall negativ ist, ist ein positiver Wert kleiner als , sodass er stets in Bit passt. Das höchstwertige (linke) Bit ist am Ende für jede negative Zahl und für jede nicht negative — dieses Bit wirkt als Vorzeichen.
Formel
Das Ergebnis wird dann mit genau Binärziffern (oder Hexadezimalziffern) geschrieben.
Gelöste Beispiele
Beispiel 1: eine positive Zahl
Codieren Sie in Bit. Da , ist das Muster einfach in Binär, auf acht Ziffern aufgefüllt:
Beispiel 2: minus eins
Codieren Sie in Bit. Da , berechnen Sie :
Minus eins ist stets eine ununterbrochene Reihe von Einsen, unabhängig von der Breite.
Beispiel 3: minus fünf
Codieren Sie in Bit. Berechnen Sie :
Referenztabelle (8-Bit)
| Dezimal | Zweierkomplement-Binär | Hex |
|---|---|---|
| 5 | 00000101 | 0x05 |
| 0 | 00000000 | 0x00 |
| -1 | 11111111 | 0xFF |
| -5 | 11111011 | 0xFB |
| 127 | 01111111 | 0x7F |
| -128 | 10000000 | 0x80 |
Hinweise
- Eine -Bit-Ganzzahl mit Vorzeichen deckt den Bereich bis ab; Bit decken bis ab; Bit decken ungefähr Milliarden ab. Werte außerhalb des gewählten Bereichs laufen modulo um.
- Das führende Bit ist das Vorzeichen: kennzeichnet eine nicht negative Zahl und kennzeichnet eine negative.
- Um eine gewöhnliche nicht negative Zahl ohne Vorzeichenbit in Binär umzuwandeln, verwenden Sie den Dezimal-zu-Binär-Konverter oder den allgemeinen Zahlensystem-Konverter für andere Basen.
Häufig gestellte Fragen
Was ist -1 im Zweierkomplement?
In jeder Breite sind es lauter Einsen: (0xFF) für 8 Bit, (0xFFFF) für 16 Bit und so weiter.
Wie bilde ich das Zweierkomplement einer negativen Zahl von Hand?
Schreiben Sie den Betrag der Zahl in Binär, kippen Sie jedes Bit und addieren Sie eins. Für in 8 Bit: ist , das Kippen ergibt , und das Addieren von eins ergibt — dasselbe Ergebnis wie .
Warum ist die Bitbreite wichtig?
Die Breite legt fest, wie viele Bit das Muster einnimmt, und damit den Bereich der Zahlen, die Sie speichern können. Derselbe Dezimalwert erzeugt eine längere Folge führender Nullen oder Einsen, je größer die Breite wird.