Ein arithmetischer Überlauf ist ein Zustand, der in Computern, insbesondere im Bereich der Computerprogrammierung, auftritt, wenn eine Berechnung oder Operation ein Ergebnis liefert, das für das Speichersystem oder das Register zu groß ist, um es verarbeiten zu können. Überlauf kann sich auch auf die Menge beziehen, indem mit dem angegebenen Ergebnis der für die Speicherung vorgesehene Speicher überschritten wird. In einigen Fällen kann der Datenüberlauf an einem anderen Datenspeicherort gespeichert werden; In anderen Fällen kann dies zu einem Programmabsturz, einer langsamen Ausführung oder ungenauen Ergebnissen führen. Der arithmetische Überlauf ist nicht auf vollständige Personal- oder Geschäftscomputer beschränkt, da auch einfache Taschenrechner und Kommunikationsgeräte hinsichtlich der Größe der Werte, die sie verarbeiten können, Grenzen haben.
Programmierer neigen dazu, Methoden zum Umgang mit arithmetischen Überlauffehlern früh in ihrer Ausbildung zu erlernen, da sie dazu neigen, sehr häufig Programmierfehler zu erhalten. Es gibt viele verschiedene Methoden, um einen arithmetischen Überlauf zu handhaben. Die Gestaltung des Programms spielt eine sehr wichtige Rolle; Bei einem gut gestalteten Programm, das konsistente und korrekte Datentypen und -längen verwendet, sollten solche Fehler nicht auftreten. Bei sorgfältiger Prüfung der Arbeitsreihenfolge und Konsistenz können Überlauffehler vollständig vermieden werden.
Eine andere Möglichkeit, mit arithmetischen Überlauffehlern umzugehen, besteht darin, Operationen in kleinere Schritte zu unterteilen. Für ein System ist es oft einfacher, einfache, kleine Operationen zu handhaben als komplexe Operationen mit großen Zahlen und übermäßigen Berechnungen. Wenn es nicht extrem wichtig ist, dass die zurückgegebene Zahl absolut korrekt ist, reicht es manchmal aus, das Programm so zu schreiben, dass es den Benutzer über den Überlauffehler informiert, aber trotzdem einen Wert zurückgibt. Die häufigste Methode, einen arithmetischen Überlauffehler zu behandeln, besteht darin, ihn vollständig zu ignorieren. Dies ist normalerweise harmlos, kann jedoch zu falschen Ergebnissen führen und die Nützlichkeit und Effizienz des Programms beeinträchtigen.
Ariane 5 Flug 501 verdeutlicht die Gefahren von arithmetischen Überlauffehlern. Der Flug war der erste Testlauf des europäischen Einweg-Startsystems Ariane 5, das einen Großteil des Codes des alten Ariane 4-Systems wiederverwendete. Die Beschleunigung der Ariane 5 war jedoch deutlich höher als die der Ariane 4 und die Programmierung reichte nicht aus, um die benötigten höheren Werte zu bewältigen. Als solche verließ die Rakete 37 Sekunden nach dem Start ihre beabsichtigte Flugbahn und musste zerstört werden. Dieser einfache Programmierfehler kostete Hunderte Millionen US-Dollar.