Dies ist eine alte Version des Dokuments!
Ganze Zahlen ℤ
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?
Vorzeichenbit
Ein erster Gedanke: Man könnte einfach das Bit ganz links als "Vorzeichenbit" verwenden.
- +4210 = 001010102
- –4210 = 101010102
(A1)
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.
(A2)
- Kannst du am Zahlenkreis weitere Probleme der Darstellung negativer Zahlen mit einem Vorzeichenbit erkennen?
- Berechne
+1 + (-1)
in der aus dem Kreis entnommenen Binärdarstellung. Erkennst du ein Problem. - Zeichne den Zahlenkreis für 4Bit lange Binärzahlen. Welchen Wertebereich kann man hier abdecken?
- Formuliere stichwortartig eine kurze Zusammenfassung zur Darstellung negativer Zahlen mit dem Vorzeichenbit - siehst du Vorteile? Siehst du Nachteile? Ist das eine gute Darstellungsmöglichkeit?
Komplementdarstellungen
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.
Einerkomplement
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.
Beispiel
- Wenn man –610 im Einerkomplement darstellen möchte, ermittelt man zunächst die Binärdarstellung von +610= 1102
- Nun fügt man links eine weitere 0 an: 01102 - diese Verändert zunächst nichts am Zahlenwert, schafft aber Platz für eine weitere Stelle für das Vorzeichen.
- Abschließend bildet man das Komplement und erhält die Einerkomplementdarstellung für –610=10012.
(A3)
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:
- Vervollständige den Zahlenkreis.
- Berechne schriftlich im Binärsystem –5 + 2.
- Berechne schriftlich im Binärsystem –5 + 6.
- Bestimme die Einerkomplementdarstellung von 00002
- Woran kann man bei der Darstellung im Einerkomplement negative Binärzahlen erkennen?
- Welche Folgerungen ziehst du aus den Ergebnissen dieser Aufgabe?
Zweierkomplement
Mithilfe des sogenannten Zweierkomplements lassen sich negative Binärzahlen so darstellen, dass alle Rechenregeln wie bislang funktionieren.
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 |
So erhält man eine eindeutige Darstellung der 0 und kann auch "über die Null hinweg" rechnen, ohne Fehler zu machen. Die folgende Veranschaulichung kann helfen, das zu verstehen.
Trick: wenn die Zahl $z$ als Binärzahl gegeben ist, erhält man $-z$ in Zweierkomplementdarstellung, indem man erst alle Bits invertiert und zum Ergebnis dieser Operation 1 addiert.
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.
(A3)
- Welcher Zahlbereich lässt sich im ZK mit 8 Bit darstellen?
- Welcher Zahlbereich lässt sich im ZK mit n Bit darstellen?
- Rechne um:
- 101010102 = ?? 10
- 111100002 = ?? 10
- –9810 = ?? 2
- –310 = ?? 2
- Wie kann man anhand einer Binärzahl im Zweierkomplement erkennen, ob diese positiv oder negativ ist?
- Wie kann man mithilfe des Zweierkomplements aus einer positiven die davon negative Zahl bilden?
(A4)
Löse die folgenden Rechenaufgaben und überprüfe das Ergebnis, indem du die Operanden und das Ergebnis dezimal umrechnest (alle Binärzahlen sind als Zweierkomplement dargestellt):
1001 1010 +0000 1111
0010 1001 -1111 1111
0001 0001 * 1111 1101
Material
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.