Overflow-Fehler

Overflow-Fehler

Ein Overflow-Fehler entsteht, wenn eine Zahl größer wird, als der dafür reservierte Speicherplatz fassen kann. Das Ergebnis ist dann nicht einfach ungenau, sondern oft völlig falsch – etwa wenn aus einer sehr großen positiven Zahl plötzlich eine negative wird.

Ein Computer speichert jede Zahl in einem Fach fester Größe. Wie viele Ziffern hineinpassen, wird vorher festgelegt und ändert sich später nicht. Wird das Rechenergebnis größer als dieses Fach, passt es nicht mehr hinein. Genau das nennt man einen Overflow-Fehler, auf Deutsch Überlauf. Der Rechner meldet dabei meist keinen Fehler, sondern schneidet die überzähligen Stellen einfach ab. Übrig bleibt eine Zahl, die aussieht wie ein normales Ergebnis, aber falsch ist.

Wenn aus zwei Milliarden minus zwei Milliarden wird

Das Tückische am Überlauf ist, dass er still passiert. Ein Programm stürzt nicht ab und zeigt keine Warnung. Es rechnet mit dem falschen Wert einfach weiter. Deshalb fallen solche Fehler oft erst auf, wenn sichtbarer Schaden entstanden ist.

Ein berühmtes Beispiel ist die europäische Rakete Ariane 5. Bei ihrem ersten Flug 1996 wandelte die Steuersoftware einen großen Messwert in ein kleineres Zahlenfeld um. Der Wert passte nicht, das Steuerungssystem meldete einen Fehler, und die Rakete zerstörte sich nach 37 Sekunden selbst. Der Schaden lag bei mehreren hundert Millionen Euro – wegen einer einzigen Zahl, die zu groß war.

Auch in der Wirtschaft ist das relevant. Handelssysteme, Buchhaltungssoftware und Datenbanken rechnen mit Geldbeträgen und Stückzahlen. Ein Überlauf kann dort aus einem Guthaben eine Schuld machen. Und in der IT-Sicherheit ist eine verwandte Form, der Pufferüberlauf, seit Jahrzehnten eine der häufigsten Einfallstore für Angreifer.

Warum der Zähler bei Null wieder anfängt

Zahlen werden im Computer als Folge von Nullen und Einsen gespeichert, den sogenannten Bits. Ein Feld aus 8 Bits kann 256 verschiedene Zustände darstellen, also die Werte 0 bis 255. Zählt man von 255 aus eins weiter, gäbe es rechnerisch eine neunte Stelle. Für die ist kein Platz reserviert, also fällt sie weg. Aus 256 wird 0 – der Zähler springt zurück an den Anfang, wie ein Kilometerzähler, der bei 999999 wieder auf 000000 wechselt.

Bei Zahlen mit Vorzeichen wird es noch verwirrender. Dort markiert das oberste Bit, ob die Zahl positiv oder negativ ist. Kippt dieses Bit durch einen Überlauf, wird aus der größten positiven Zahl unvermittelt die kleinste negative. Ein Wert, der eben noch zwei Milliarden betrug, steht plötzlich bei minus zwei Milliarden.

Ein Overflow ist deshalb etwas anderes als ein Rundungsfehler. Beim Runden ist das Ergebnis leicht ungenau, aber in der richtigen Größenordnung. Beim Überlauf stimmt die Größenordnung nicht mehr, oft nicht einmal das Vorzeichen. Das Gegenstück heißt übrigens Underflow: Dabei ist eine Zahl zu klein, um noch darstellbar zu sein, und wird stillschweigend zu Null.

Von YouTube-Klicks bis zu KI-Modellen

Ein bekannter Fall betraf YouTube. Der Zähler für Videoaufrufe war für gut zwei Milliarden Klicks ausgelegt. Als das Musikvideo zu « Gangnam Style » diese Grenze überschritt, musste die Plattform auf ein größeres Zahlenformat umstellen. Ähnliches kennen Spieler aus alten Videospielen, wo Punktestände oder Levelanzeigen ab einem bestimmten Wert plötzlich verrücktspielen.

In der KI-Entwicklung taucht das Thema regelmäßig auf. Moderne Modelle rechnen aus Kostengründen mit besonders sparsamen Zahlenformaten, etwa 16 oder sogar 8 Bit pro Wert. Je kleiner das Format, desto enger der darstellbare Bereich. Beim Training können Zwischenwerte dann überlaufen und werden zu « NaN », also « keine Zahl ». Ein Trainingslauf, der Millionen kostet, ist damit unbrauchbar.

Ein weiteres Datum, das in Tech-News immer wieder auftaucht, ist der 19. Januar 2038. Viele ältere Systeme zählen die Zeit in Sekunden seit 1970 in einem 32-Bit-Feld. An diesem Tag läuft dieses Feld über. Programmierer beugen solchen Problemen mit größeren Zahlenformaten, Prüfungen vor jeder Rechnung und Programmiersprachen vor, die einen Überlauf von sich aus melden.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.