← StartseiteProgrammierung (Програмування)

Was ist ein Integer-Overflow?

Integer Overflow — das ist die Überlauf eines Ganzzahltyps, wenn der Wert die Grenze des Variablentyps überschreitet. Für einen 32-Bit signed int beträgt das Maximum 2.147.483.647 (0x7FFFFFFF). Das Hinzufügen von 1 fü...

InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Sie haben einen Zähler, der nur bis zu einer bestimmten Zahl zählen kann. Zum Beispiel ein Taschenrechner, der maximal 999 anzeigt. Wenn Sie versuchen, 1 zu 999 hinzuzufügen, kann er 1000 nicht anzeigen - die Ziffern "überlaufen" (overflow) einfach und der Rechner zeigt etwas ganz anderes an, zum Beispiel 000.
In der Programmierung wird dieser Effekt integer overflow (Überlauf von Ganzzahlen) genannt.
Dies geschieht, wenn eine Zahl größer wird als der maximale Wert, den der gewählte Variablentyp speichern kann.
Wenn eine int-Variable beispielsweise Zahlen bis 2.147.483.647 speichern kann, wird das Hinzufügen von 1 ihren Wert… negativ machen!

Warum 2.147.483.647 die "Obergrenze" für eine 32-Bit-Zahl ist

Im Computer werden Zahlen in binärer Form gespeichert (d.h. als Folge von Nullen und Einsen).
"32-Bit" bedeutet, dass zur Speicherung einer Zahl 32 Zellen reserviert sind, und in jeder kann entweder 0 oder 1 sein.
Wenn die Zahl jedoch signed (mit Vorzeichen) ist, ist eine dieser Zellen für das Vorzeichen reserviert:
  • 0 im ersten Bit — positive Zahl,
  • 1 im ersten Bit — negative Zahl.
Das bedeutet, dass für den Betrag der Zahl nur 31 Bit verbleiben.
Maximalwert
Wenn alle 31 Bits (außer dem Vorzeichen) mit Einsen gefüllt sind, erhalten wir die größte mögliche positive Zahl:
1111111111111111111111111111111 (31 Einsen)
Im Dezimalsystem entspricht dies genau 2.147.483.647.
In hexadezimaler (hex) Form wird dies als 0x7FFFFFFF geschrieben:
  • 7 — binär 0111 (d.h. Vorzeichen 0 + drei Einsen),
  • F — binär 1111 (vier Einsen),
  • und so weiter bis zum Ende.
Deshalb treten in Programmen manchmal sehr seltsame Fehler auf, und in der Geschichte gab es sogar ernsthafte Unfälle aufgrund von Überläufen. Es gibt sogar Memes wegen des integer overflow Fehlers, aber das ist nicht genau.

🔥 Weitere Beiträge

Alle Beiträge
Was ist Vibe-Coding?
25. Jul '25, 21:51 Uhr

Was ist Vibe-Coding?

Vibe-Coding ist intuitives Programmieren in Tandem mit KI: ohne strenge Regeln, mit Musik, Inspir...

Was ist eine HAR-Datei (HTTP-Archiv)?
Programmierung (Програмування)25. Aug '25, 18:23 Uhr

Was ist eine HAR-Datei (HTTP-Archiv)?

HAR-Datei (HTTP-Archiv) — ist ein .har-Format, das das Protokoll der Browserinteraktion mit dem N...

Was ist faktoriale Komplexität?
Programmierung (Програмування)16. Sep '25, 19:03 Uhr

Was ist faktoriale Komplexität?

Faktorielle Komplexität ist das schnelle Wachstum der Anzahl der Varianten, wenn für n Elemente m...

Was ist NP-Komplexität?
Programmierung (Програмування)16. Sep '25, 19:31 Uhr

Was ist NP-Komplexität?

NP-Schwierigkeit ist eine Klasse von Problemen, bei denen es extrem schwierig ist, eine Lösung zu...