Konvertierung

Zweierkomplement-Rechner

Einstellungen
Zurücksetzen
Ergebnis teilen
Speichern
Einbetten
Fehler melden

Rechner teilen

Fügen Sie unseren kostenlosen Rechner zu Ihrer Website hinzu

Quelle

Bitte geben Sie eine gültige URL ein. Es werden nur HTTPS-URLs unterstützt.

Stil

Farbakzent, der beim Fokusieren auf die Eingabefeldumrandung, bei markierten Schalterkästchen, beim Hovern über ausgewählte Elemente etc. erscheint.

Erweitert

Bitte stimmen Sie den Nutzungsbedingungen zu.

Vorschau

Rechner speichern

Rechner-Einstellungen

Bitte geben Sie einen Wert innerhalb des erlaubten Bereichs ein.

Bitte geben Sie einen Wert innerhalb des erlaubten Bereichs ein.

Bitte geben Sie einen Wert innerhalb des erlaubten Bereichs ein.

Bitte geben Sie einen Wert innerhalb des erlaubten Bereichs ein.

Rechner teilen

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 ww Bit wird jeder Wert als vorzeichenloses Bitmuster gespeichert:

  • Ist die Zahl nn nicht negativ, ist ihr Muster einfach die Binärdarstellung von nn, mit führenden Nullen auf ww Bit aufgefüllt.
  • Ist die Zahl nn negativ, ist ihr Muster die Binärdarstellung von 2w+n2^w + n.

Da nn im zweiten Fall negativ ist, ist 2w+n2^w + n ein positiver Wert kleiner als 2w2^w, sodass er stets in ww Bit passt. Das höchstwertige (linke) Bit ist am Ende 11 für jede negative Zahl und 00 für jede nicht negative — dieses Bit wirkt als Vorzeichen.

Formel

pattern(n)={nif n02w+nif n<0\text{pattern}(n) = \begin{cases} n & \text{if } n \ge 0 \\ 2^{w} + n & \text{if } n < 0 \end{cases}

Das Ergebnis wird dann mit genau ww Binärziffern (oder w/4w/4 Hexadezimalziffern) geschrieben.

Gelöste Beispiele

Beispiel 1: eine positive Zahl

Codieren Sie n=5n = 5 in 88 Bit. Da 505 \ge 0, ist das Muster einfach 55 in Binär, auf acht Ziffern aufgefüllt:

5000001012=0x055 \rightarrow 00000101_2 = \text{0x05}

Beispiel 2: minus eins

Codieren Sie n=1n = -1 in 88 Bit. Da 1<0-1 < 0, berechnen Sie 28+(1)=2561=2552^8 + (-1) = 256 - 1 = 255:

255111111112=0xFF255 \rightarrow 11111111_2 = \text{0xFF}

Minus eins ist stets eine ununterbrochene Reihe von Einsen, unabhängig von der Breite.

Beispiel 3: minus fünf

Codieren Sie n=5n = -5 in 88 Bit. Berechnen Sie 28+(5)=2565=2512^8 + (-5) = 256 - 5 = 251:

251111110112=0xFB251 \rightarrow 11111011_2 = \text{0xFB}

Referenztabelle (8-Bit)

DezimalZweierkomplement-BinärHex
5000001010x05
0000000000x00
-1111111110xFF
-5111110110xFB
127011111110x7F
-128100000000x80

Hinweise

  • Eine 88-Bit-Ganzzahl mit Vorzeichen deckt den Bereich 128-128 bis 127127 ab; 1616 Bit decken 32,768-32{,}768 bis 32,76732{,}767 ab; 3232 Bit decken ungefähr ±2.1\pm 2.1 Milliarden ab. Werte außerhalb des gewählten Bereichs laufen modulo 2w2^w um.
  • Das führende Bit ist das Vorzeichen: 00 kennzeichnet eine nicht negative Zahl und 11 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: 11111111211111111_2 (0xFF) für 8 Bit, 111111111111111121111111111111111_2 (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 5-5 in 8 Bit: 55 ist 0000010100000101, das Kippen ergibt 1111101011111010, und das Addieren von eins ergibt 1111101111111011 — dasselbe Ergebnis wie 2565=251256 - 5 = 251.

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.

Fehler melden

Dieses Feld ist erforderlich.