====== Ü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. {{ :faecher:informatik:oberstufe:codierung:zahlendarstellungen:ueberlauf:2023-10-25_18-03.png |}} ==== Aufgaben ==== {{ :faecher:informatik:oberstufe:codierung:zahlendarstellungen:ganze_zahlen:zweierkomplement.png?240|}} 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. ---- {{:aufgabe.png?nolink |}} === (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 | {{ :faecher:informatik:oberstufe:codierung:zahlendarstellungen:ueberlauf:2023-10-25_18-48.png?400 |}} ++++ 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. ---- {{:aufgabe.png?nolink |}} === (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 | {{ :faecher:informatik:oberstufe:codierung:zahlendarstellungen:ueberlauf:2023-10-25_19-04.png?600 |}} ++++ Es gibt also Fälle, in denen ein Overflow stattfindet, ohne dass zuvor ein Übertrag stattgefunden hat. === Material === {{simplefilelist>.:*}}