Überlauf und Übertrag

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

Betrachtung mit technischen Einschränkungen

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?

Addiere dazu die beiden Zahlen 5 und 7 in 4Bit Zweierkomplementdarstellung. Was ist das Ergebnis dieser Berechnung?

Hat hier ein Übertrag stattgefunden?

Hat ein Überlauf stattgefunden, liegt das Ergebnis also außerhalb des zulässigen Wertebereichs?

Lösung