Überlauf und Übertrag

Wird bei einer Rechenoperation der der zulässige Wertebereich verlassen, kommt es zu einem Überlauf.

Bei digitalen Rechnersystemen wird der Maximal zulässige Wertebereich von der verwendeten Hardware und der eingesetzten Programmiersprache beeinflusst.

Auf modernen Computersystemen mit Java liegen z.B. die folgenden Einschränkungen vor, je nachdem welcher Variablentyp verwendet wird. Angegeben sind allgemeine Wertebereiche für bestimmte Bitanzahlen sowie - wo vorhanden die entsprechenden Variablentypen, zur Darstellung wird das Zweierkomplement verwendet.

Aufgaben

Angenommen du setzt ein Rechnersystem ein, welches mit Zahlen einer maximalen Länge von 4Bit umgehen kann. Bearbeite unter dieser Annahme die folgenden Aufgaben, wenn nichts anderes angegeben ist. Ganze Zahlen sollen im Zweierkomplement dargestellt werden, als Hilfsmittel siehst du rechts nochmals den zugehörigen Zahlenkreis.


(A1)

Berechne die Summe der beiden positiven Binärzahlen 1100 und 1011 und überprüfe dein Ergebnis. Welches Problem taucht bei der Darstellung des Ergebnisses auf?

Lösung

Wenn durch einen Übertrag beim höchstwertigen Bit ein Überlauf stattfindet, setzt der Rechner intern zunächst den den sogenannten Übertrags-Marker (Carry), bevor der einen weiteren Marker setzt, den Overflow Marker. Damit kann man den Fehler als Programmierer abfangen, da man weiß, dass die Berechnung nicht korrekt ausgeführt wurde.

(A2)

Was passiert bei einem solchen Übertrag, wenn die Zahlen in Zweierkomplementdarstellung vorliegen?

Lösung

Es gibt also Fälle, in denen ein Overflow stattfindet, ohne dass zuvor ein Übertrag stattgefunden hat.

Material

FilenameFilesizeLast modified
2023-10-25_18-03.png31.7 KiB25.10.2023 16:03
2023-10-25_18-48.png64.0 KiB25.10.2023 16:48
2023-10-25_19-04.png107.0 KiB25.10.2023 17:10
ueberlauf.odp255.0 KiB21.11.2023 13:26
ueberlauf.pdf179.5 KiB21.11.2023 13:26