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.

Hinweis

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?

Hinweis "weiteres Problem":

Woran liegt es, dass man statt der üblichen 8 Zahlen, die man mit 3Bit darstellen kann nur 7 Zahlen darstellen kann?

Lösung Rechung

Hinweis: Zahlenkreis 4Bit

Du kannst dich an folgendem, teilweise ausgefüllten Kreis orientieren:

Komplementdarstellungen

Um die verheerende Rechenschwäche des Vorzeichenbits zu beheben, haben sich Komplementdarstellungen für negative Zahlen etabliert.

Um das "Komplement" einer binären Zahl zu bilden, werden an allen Stellen 1 und 0 vertauscht. 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.

<callout> Wenn man –610 im Einerkomplement darstellen möchte, ermittelt man zunächst die Binärdarstellung von +610= 1102 und fügt links eine 0 an: 01102

Nun bildet man das Komplement und erhält die Einerkomplementdarstellung für –610=10012. </callout >

(A2)

Ermittle die EK-Darstellung von –510.

Berechne schriftlich im Binärsystem –5 + 2.

Berechne schriftlich im Binärsystem –5 + 7.

Bestimme die Einerkomplementdarstellung von 00002

Welche Folgerungen ziehst du aus den Ergebnissen deiner Berechnungen?

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 als Binärzahl gegeben ist, erhält man 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?

Hinweis/Lösung

Tipp: Um das Vorzeichen einer Binärzahl im Zweierkomplement zu tauschen, kann man folgendermaßen vorgehen: Einfaches Komplement bilden 1 addieren

(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