faecher:informatik:oberstufe:codierung:zahlendarstellungen:ganze_zahlen:start

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?

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":

Lösung Rechung

Hinweis: Zahlenkreis 4Bit

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.

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?

Lösung: Zahlenkreis

Lösungen: Rechnungen

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

(A4)

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:

  • Vervollständige den Zahlenkreis
  • Kannst du ein allgemeines Vorgehen formulieren, wie man aus einer positiven Binärzahl $z$ die negative Binärzahl $-z$ in der Zweierkomplementdarstellung erhalten kann?

Lösung Zahlenkreis

Hinweis Vorgehen


(A5)

Das folgende Bild zeigt den Zahlenkreis für 8Bit-Binärzahlen im Zweierkomplement:

  • Welcher Zahlbereich lässt sich im Zweierkomplement mit 8 Bit darstellen?
  • Welcher Zahlbereich lässt sich im Zweierkomplement mit n Bit darstellen?
  • Rechne um - die Binärzahlen sind im Zweierkomplement gegeben:
    • 101010102 = ?? 10
    • 111100002 = ?? 10
    • –9810 = ?? 2
    • –310 = ?? 2
    • Wie kann man anhand einer Binärzahl im Zweierkomplement erkennen, ob diese positiv oder negativ ist?
  • Verwende die Zweierkomplementdarstellung:
    • Berechne schriftlich im Binärsystem –5 + 2.
    • Berechne schriftlich im Binärsystem –5 + 6.

Lösung: Umrechungen

Lösung: Addition


Prima Sache!

Mithilfe des sogenannten Zweierkomplements lassen sich ganze Zahlen – auch negative – als Binärzahlen so darstellen, dass alle Rechenregeln wie bislang funktionieren.

Vorgehen

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.

Material

FilenameFilesizeLast modified
2023-10-25_15-49.png25.6 KiB25.10.2023 15:50
3bit-vorzeichenbit.svg17.8 KiB25.10.2023 14:59
3bit_vorzeichenbit.png68.7 KiB25.10.2023 14:59
4b_einerkomplement_unvoll.png88.3 KiB25.10.2023 16:39
4b_zweierkomplement_unvoll.png90.5 KiB25.10.2023 16:39
4bit_vorzeichenbit_leer.png60.5 KiB25.10.2023 15:32
einerkomplement.png81.9 KiB25.10.2023 16:26
ganzezahlen_binaer.odp136.0 KiB14.09.2022 16:19
ganzezahlen_binaer.pdf132.8 KiB14.09.2022 16:19
rech2k.png60.3 KiB25.10.2023 17:14
umr_2k.png137.9 KiB25.10.2023 17:14
vorzeichenbit.png229.4 KiB12.09.2022 20:49
zkkreis.png79.0 KiB12.09.2022 21:30
zweierkomplement.png84.3 KiB25.10.2023 16:25

Diese Seite entstand unter Verwendung von Ideen und Material von D. Zechnall.

  • faecher/informatik/oberstufe/codierung/zahlendarstellungen/ganze_zahlen/start.txt
  • Zuletzt geändert: 25.10.2023 17:15
  • von Frank Schiebel