Voraussetzung – Darstellung negativer Binärzahlen
1er-Komplement einer Binärzahl ist eine weitere Binärzahl, die durch Umschalten aller darin enthaltenen Bits erhalten wird, d. h. durch Transformieren des 0-Bits in 1 und des 1-Bits in 0. Beispiele:
Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)>
2er-Komplement einer Binärzahl ist 1, addiert zum 1er-Komplement der Binärzahl. Beispiele:
Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)>
Diese Darstellungen werden für vorzeichenbehaftete Zahlen verwendet.
Der Hauptunterschied zwischen 1er-Komplement und 2′-Komplement ist, dass das 1er-Komplement zwei Darstellungen von 0 (Null) hat – 00000000, was eine positive Null (+0) ist, und 11111111, was eine negative Null (-0) ist; wohingegen es im 2er-Komplement nur eine Darstellung für Null gibt – 00000000 (0), denn wenn wir 1 zu 11111111 (-1) addieren, erhalten wir 100000000, was neun Bits lang ist. Da nur acht Bits zulässig sind, wird das Bit ganz links verworfen (oder läuft über), sodass 00000000 (-0) übrig bleibt, was einer positiven Null entspricht. Aus diesem Grund wird im Allgemeinen das 2′-Komplement verwendet.
Ein weiterer Unterschied besteht darin, dass wir beim Addieren von Zahlen im 1er-Komplement zunächst eine binäre Addition durchführen und dann einen End-Around-Carry-Wert hinzufügen. Das 2er-Komplement hat jedoch nur einen Wert für Null und erfordert keine Übertragswerte.
Der Bereich des 1er-Komplements für die n-Bit-Zahl liegt bei -2n-1-1 bis 2n-1-1, wohingegen der Bereich des Zweierkomplements für n Bit bei -2 liegtn-1zu 2n-1-1.
Konvertieren Sie ein int in einen String Java
Da sind 2n-1gültige Zahlen im 1er-Komplement und im 2er-KomplementNgültige Zahlen im 2er-Komplement.
Unterschied zwischen der 1er-Komplementdarstellung und der 2er-Komplementdarstellung in Tabellenform:
| Kriterien | 1er-Komplement | 2er-Komplement |
| Definition | Das 1er-Komplement einer Binärzahl erhält man durch Invertieren aller Bits. | Das 2er-Komplement einer Binärzahl erhält man durch Addition von 1 zum 1er-Komplement der Zahl. |
| Wertebereich, der mit n Bits dargestellt werden kann | Von -2^(n-1) + 1 bis 2^(n-1) – 1 | Von -2^(n-1) bis 2^(n-1) – 1 |
| Anzahl der Darstellungen für Null | Kann auf zwei Arten dargestellt werden (alle Nullen und alle Einsen). | Kann nur auf eine Art dargestellt werden (alle Nullen). |
| Addition positiver und negativer Zahlen | Identisch mit vorzeichenloser binärer Addition. | Identisch mit vorzeichenloser binärer Addition. |
| Subtraktion von Zahlen | Subtrahieren Sie die kleinere Zahl von der größeren und fügen Sie dann ein Vorzeichenbit zum Ergebnis hinzu. | Addiere die negative Zahl zur positiven durch binäre Addition. |