In Informatiksystemen ist es auch nötig, mit negativen Zahlen zu arbeiten. So kann man eine Subtraktion als Addition der Gegenzahl auffassen: 11-6 = 11+(-6)
- es vereinfacht also vieles, wenn man weiß, wie man diese Gegenzahlen finden kann. Aber wie kann man negative Zahlen im Binärsystem darstellen?
Ein erster Gedanke: Man könnte einfach das Bit ganz links als "Vorzeichenbit" verwenden.
Verwende die binäre Darstellung für +42 und -42 von oben und addiere schriftlich (im Binärsystem) jeweils die Zahl 310=0112. Erläutere anhand dieses Beispiels, warum die Darstellung mit einem "Vorzeichenbit" problematisch ist.
Wenn man sich auf eine festgelegte Stellenzahl beschränkt, kann man sich die Darstellung ganzer Zahlen im Binärsystem an einem "Zahlenkreis" veranschaulichen. Für Zahlen mit einer Länge von 3Bit sieht dieser so aus:
Man kann hier schön sehen, dass man mit drei Bit alle Zahlen von -3 bis +3 darstellen kann.
+1 + (-1)
in der aus dem Kreis entnommenen Binärdarstellung. Erkennst du ein Problem.Um die verheerende Rechenschwäche des Vorzeichenbits zu beheben, haben sich Komplementdarstellungen für negative Zahlen etabliert.
Dies hat den Vorteil, dass Rechenoperationen wie z.B. die Addition in beiden Zahlenbereichen funktionieren.
Eine negative Zahl im Dezimalsystem wird bei der Einerkomplement-Darstellung zunächst als Betrag in eine Binärzahl umgewandelt und dann das Komplement gebildet. Negative Zahlen beginnen dabei stets mit einer 1, d.h. man muss evtl. links eine oder mehrere 0-en anfügen, um bei der Komplementbildung die "Vorzeichen-Eins" zu erhalten.
Auch die Einerkomplementdarstellung kann man sich an einem Zahlenkreis veranschaulichen - für Binärzahlen der Länge 4 Bit sieht der (unvollständige) Zahlenkreis so aus:
Die Idee des ZK ist es, jeweils das Bit mit der höchsten Wertigkeit als negativen Wert zu definieren. Ein Beispiel anhand eines 8-Bit-Wertes:
Stelle | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Wertigkeit 2er-Potenz | –27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
Wertigkeit dezimal | –128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Die Tabelle oben sieht für Binärzahlen der Länge 4 Bit so aus:
Stelle | 3 | 2 | 1 | 0 |
Wertigkeit 2er-Potenz | –23 | 22 | 21 | 20 |
Wertigkeit dezimal | –8 | 4 | 2 | 1 |
Der Zahlenkreis sieht für 4 Bit Binärzahlen im Zweierkomplement (unvollständig) so aus:
Das folgende Bild zeigt den Zahlenkreis für 8Bit-Binärzahlen im Zweierkomplement:
Beispiel: 310=00112. man erhält -3 im Zweierkomplement, indem man zunächst alle Stellen der Binärzahl invertiert: 11002. Dann addiert man 1: 11012=-8+4+1=-3.
Filename | Filesize | Last modified |
---|---|---|
2023-10-25_15-49.png | 25.6 KiB | 25.10.2023 13:50 |
3bit-vorzeichenbit.svg | 17.8 KiB | 25.10.2023 12:59 |
3bit_vorzeichenbit.png | 68.7 KiB | 25.10.2023 12:59 |
4b_einerkomplement_unvoll.png | 88.3 KiB | 25.10.2023 14:39 |
4b_zweierkomplement_unvoll.png | 90.5 KiB | 25.10.2023 14:39 |
4bit_vorzeichenbit_leer.png | 60.5 KiB | 25.10.2023 13:32 |
einerkomplement.png | 81.9 KiB | 25.10.2023 14:26 |
ganzezahlen_binaer.odp | 136.0 KiB | 14.09.2022 14:19 |
ganzezahlen_binaer.pdf | 132.8 KiB | 14.09.2022 14:19 |
rech2k.png | 60.3 KiB | 25.10.2023 15:14 |
umr_2k.png | 137.9 KiB | 25.10.2023 15:14 |
vorzeichenbit.png | 229.4 KiB | 12.09.2022 18:49 |
zkkreis.png | 79.0 KiB | 12.09.2022 19:30 |
zweierkomplement.png | 84.3 KiB | 25.10.2023 14:25 |
Diese Seite entstand unter Verwendung von Ideen und Material von D. Zechnall.