- Arithmetischer Überlauf
-
Der Arithmetische Überlauf (engl. arithmetic overflow) oder Zählerüberlauf (engl. counter overflow), ist ein Begriff aus der Informatik. Solch ein Überlauf tritt auf, wenn das Ergebnis einer Berechnung für den gültigen Zahlenbereich zu groß ist, um noch richtig interpretiert werden zu können.
Zumeist wird man dem Überlauf beim Rechnen mit Zweierkomplementzahlen begegnen. So kann es passieren, dass bei der Addition zweier Zahlen mit gleichem Vorzeichen eine Zahl mit anderem Vorzeichen entsteht. In diesem Fall setzt der Prozessor das Überlaufbit. Mit einigen Prozessoren und Programmiersprachen kann ein Überlauf durch einen Laufzeitfehler oder eine Ausnahmebehandlung (Exception) aufgefangen werden.
Der Überlauf hängt immer von der verwendeten Zahlendarstellung ab. Er ist keinesfalls mit dem Übertrag (engl. Carry) zu verwechseln.
Inhaltsverzeichnis
Beispiele
32 Bit Integer
Der auf 32-Bit-Prozessoren häufigst verwendete Ganzzahl-Datentyp Integer kann im Zweierkomplement die Werte –231 = –2.147.483.648 bis +(231)–1 = +2.147.483.647 darstellen. Wird nun zu +2.147.483.647 (Binär 01111111 11111111 11111111 11111111) eins dazugezählt, erhält man nicht wie erwartet +2.147.483.648, sondern –2.147.483.648, da der Binärwert 10000000 00000000 00000000 00000000 als negative Zahl interpretiert wird. Ein solcher Überlauf ist auch die Ursache für das Jahr-2038-Problem.
4 Bit im Zweierkomplement
Im Zweierkomplement sind positive und negative Zahlen darstellbar, sodass die Subtraktion auf die Addition zurückgeführt werden kann. Es sind 3 Fälle zu betrachten:
Addition zweier positiver Zahlen Addition negativer Zahlen mit Überlauf Addition negativer Zahlen ohne Überlauf - Verallgemeinerung [1]
Operation richtiges Ergebnis Überlauf A + B cn = 0,cn − 1 = 0 cn = 0,cn − 1 = 1 A - B cn = cn − 1 nicht möglich -A - B cn = 1,cn − 1 = 1 cn = 1,cn − 1 = 0 Man muss sich stets die letzten beiden Überträge anschauen, hier cn und cn − 1 genannt. Sind diese ungleich, dann ist das Ergebnis falsch, als Resultat eines Überlaufes. Bei der Addition einer positiven und einer negativen Zahl kann dies nie der Fall sein.
- Folgerung
In einer 4-Bit-Architektur, die mit dem Zweierkomplement arbeitet, ist z. B. die Dezimalzahl 10 nicht dual abbildbar.
Manche Prozessoren können einen Überlauf durch ein Überlaufbit registrieren.
Siehe auch
Einzelnachweise
- ↑ Fricke, Klaus. Digitaltechnik: Lehr- und Übungsbuch für Elektrotechniker und Informatiker. 5. Aufl. Vieweg+Teubner, 2007. Print, Seite 9
Kategorien:- Technische Informatik
- Computerarithmetik
Wikimedia Foundation.