Inhalt
Das Komplement von 2 ist ein System zur Darstellung negativer Binärzahlen. Es kann auch verwendet werden, um die Subtraktion zu implementieren - um "A" von "B" zu subtrahieren, "A" in eine negative Zahl umzuwandeln und zu addieren; Dadurch wird vermieden, dass Hardware zum Addieren und Subtrahieren erstellt werden muss. Mit dem System der Umwandlung einer Binärzahl in ein Komplement von 2 - und umgekehrt - ist es möglich, die Darstellung der negativen Zahl zu vereinfachen und die Subtraktion zu bewirken. Das Konvertieren vom Komplement von 2 in eine Dezimalbasiszahl erfordert zwei Schritte: zuerst das Konvertieren in Binär und dann von Binär in Dezimal.
Schritt 1
Stellen Sie die Dezimalzahlen fortlaufend als Binärzahlen dar, indem Sie sie in der Reihe durch 2 teilen und die Überreste speichern. Um beispielsweise 13 in binär umzuwandeln, teilen Sie 13 durch 2, um 6 zu erhalten, und der erste Rest ist 1. Teilen Sie durch 6 durch 2, um 3 zu erhalten, und der zweite Rest ist 0. Teilen Sie durch 3 durch 2, um 1 und den dritten zu erhalten Rest ist 1. Teilen Sie 1 durch 2, um 0 zu erhalten, und Rest ist 1. Die Reste in umgekehrter Reihenfolge der Produktion sind 1101 und die Dezimalbasiszahl 13 = binär 1101. Es ist einfacher, eine binäre Zahl zu erkennen, als ich produziert habe es. Addiere von rechts d X 2 ^ p, wobei "d" die Binärziffer und "p" die Position ist, so dass 1101 = (1 x 1) + (0 x 2) + (1 x 4) + (1 x 8) = 13.
Schritt 2
Transformiere von binär zu Zweierkomplement, invertiere die Bits und addiere 1. Dann ist binär für 7 00000111 und negativ 7 ist 11111001, da 00000111 mit den invertierten Bits 11111000 und 11111000 + 1 = 11111001 ist. Die am weitesten links stehende Ziffer ist die Signal. Positive Zahlen haben ein Vorzeichenbit von Null und negative Zahlen haben ein Vorzeichenbit von 1. Eines der guten Dinge am Komplement von 2 ist, dass seine Umwandlung in Binär genau durch denselben Prozess der Umwandlung von Binär in Komplement erfolgt von zwei. Um beispielsweise das Zweierkomplement von -7 in 7 Binär umzuwandeln, invertieren Sie die Ziffern und addieren Sie 1. 11111001 invertiert ist 00000110 und 00000110 + 1 = 00000111.
Schritt 3
Konvertieren Sie das 2er-Komplement in eine Dezimalbasiszahl in zwei Schritten: 2er-Komplement in Binär und nach Binär in Dezimalbasis. Wenn Sie beispielsweise -21 zusätzlich zu 2 - 11101011 - in eine Dezimalzahl konvertieren möchten, konvertieren Sie zuerst eine Binärdatei und dann eine Binärdatei in eine Dezimalzahl. Invertieren Sie 11101011, um 00010100 zu erhalten, und addieren Sie 1, um 00010101 zu erhalten, was 21 binär ist. Dekodieren Sie dann die Binärdatei unter Verwendung der Positionsnotation, um (0 x 128) + (0 x 64) + (0 x 32) + (1 x 16) + (0 x 8) + (1 x 4) + (0 x) zu erhalten 2) + (1 × 1) = 21.