webentwicklung-frage-antwort-db.com.de

Vorteil des 2er-Komplements gegenüber dem 1er-Komplement?

Was ist der Vorteil des Zweierkomplements gegenüber dem Einerkomplement bei der Darstellung negativer Zahlen im Binärzahlensystem? Wie wirkt es sich auf den Wertebereich aus, der in einer bestimmten Bitdarstellung der Zahl im Binärsystem gespeichert ist?

51
pranphy

Der Hauptvorteil des Zweierkomplements gegenüber dem Zweierkomplement besteht darin, dass das Zweierkomplement nur einen Wert für Null hat. Das Komplement eines Menschen hat eine "positive" Null und eine "negative" Null.

Als nächstes müssen Sie zum Hinzufügen von Zahlen unter Verwendung des eigenen Komplements zunächst eine binäre Addition ausführen und dann einen End-Around-Übertragswert hinzufügen.

Das Zweierkomplement hat nur einen Wert für Null und erfordert keine Übertragswerte.

Sie haben auch gefragt, wie der Bereich der gespeicherten Werte beeinflusst wird. Betrachten Sie einen Acht-Bit-Integer-Wert. Die folgenden Werte sind Ihre Minimal- und Maximalwerte:

Notation     Min   Max
==========  ====  ====
Unsigned:      0   255
One's Comp: -127  +127
Two's Comp: -128  +127

Verweise:

53
JYelton

Die Hauptvorteile sind:

  1. In 1's gibt es ein -0 (11111111) und ein +0 (00000000), d. h. zwei Werte für dasselbe 0. Andererseits gibt es im Zweierkomplement nur einen Wert für 0 (00000000). Das ist weil

    +0 --> 00000000
    

    und

     -0 --> 00000000 --> 11111111 + 1 --> 00000000
    
  2. Während arithmetische Operationen wie Addition oder Subtraktion mit Einsen ausgeführt werden, müssen wir ein zusätzliches Übertragsbit hinzufügen, d. H. 1 auf das Ergebnis, um die richtige Antwort zu erhalten, z.

           +1(00000001)
         +
           -1(11111110)
         -----------------
         = (11111111)
    

aber die richtige Antwort ist 0. Um zu bekommen 0 wir müssen ein Übertragsbit hinzufügen 1 zum Ergebnis (11111111 + 1 = 00000000).

Im 2er-Komplement muss das Ergebnis nicht modifiziert werden:

               +1(00000001)
              +
               -1(11111111)
         -----------------
              = 1 00000000
15
GAURAV SINGH

Negative Ganzzahlen: Das 2er-Komplement ist sinnvoll für negative Ganzzahlen. Das Komplement von 1 ist nur eine Berechnungstechnik, die hilfreich sein kann, um das Komplement von 2 zu bewerten. Der reale (besiegte) Rivale des Zweierkomplements war die Darstellung der Vorzeichengröße für negative ganze Zahlen.

Kein Überlauf: 1s Komplement hat keine spezielle Verwendung für negative ganze Zahlen. Das 2-Komplement ist sinnvoll, da es in der natürlichen Additions- und Subtraktionsarithmetik verwendet werden kann, ohne dass die Bits geändert werden müssen. Sofern kein Überlauf auftritt, ist das Vorzeichenbit des Ergebnisses genau der richtige Wert. Die Heraufstufung der Bitnummer in dieser Notation ist unkompliziert. Um beispielsweise eine 8-Bit-Ganzzahl mit Vorzeichen auf 16 heraufzusetzen, können Sie einfach das Vorzeichenbit des Ganzzahlwerts im oberen Byte wiederholen.

Vorzeichengröße: Im Gegenteil, die Vorzeichengrößen-Notation ist genau die Art und Weise, wie der Mensch negative ganze Zahlen darstellt. Die Arithmetik der Aufwertung und Addition von Bitnummern ist mit dieser Notation ein bisschen durcheinander.

4
Coding active

Vorteile von Two’s Complement # 1

In der Two’s Complement-Darstellung wird der Wert Null eindeutig dargestellt, indem alle Bits auf Null gesetzt werden:

**

Vorteile von Two’s Complement # 2

** Wenn Sie eine arithmetische Operation (z. B. Addition, Subtraktion, Multiplikation, Division) für zwei Ganzzahlen mit Vorzeichen in der Two's Complement-Darstellung ausführen, können Sie genau die gleiche Methode verwenden, als hätten Sie zwei Ganzzahlen ohne Vorzeichen (d. H. Nichtnegative Ganzzahlen mit Vorzeichen) kein Vorzeichenbit) ... AUSSER, du wirfst den hohen Carry weg (oder den hohen Leihbetrag für die Subtraktion)

Vorteile von Zweierkomplement

Diese Eigenschaft der Two’s Complement-Darstellung ist so

unglaublich praktisch, dass praktisch jeder General

der heute erhältliche Mehrzweckcomputer verwendet Two’s Complement. Warum? Weil wir mit Two’s Complement keine speziellen Algorithmen (und daher keine zusätzlichen Schaltkreise) für arithmetische Operationen benötigen, die negative Werte beinhalten.

Ein weiterer Hauptvorteil der Zweierkomplementdarstellung gegenüber der vorzeichenbehafteten Bitdarstellung besteht darin, dass die Zweierkomplementdarstellung in der Hardware leicht zu manipulieren ist

2
Techuno

2s Komplement ist nicht für die Darstellung einer negativen Zahl, es ist eine Umkehrung.

Bedeutet, dass Sie A + B '(wobei B' das Zweierkomplement von B ist) ausführen können, um A - B zu erhalten. Dies bedeutet, dass Sie mit einem Addierer alles ausführen können und keinen Subtrahierer benötigen

1
Tony Hopkinson