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

Was ist ein Integer-Overflow?

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 ...

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 ein Zustand, in dem du nicht strengen Programmierregeln folgst, sondern einfach d...

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

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

HAR-Datei (HTTArchiv) - ist ein spezielles Dateiformat .har, in dem das Protokoll der Interaktion...

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

Was ist faktoriale Komplexität?

Fakultative Komplexität - ist eine Situation, in der die Anzahl der Varianten oder Kombinationen ...

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

Was ist NP-Komplexität?

NP-Schwierigkeit - ist eine Klasse von Aufgaben, für die es sehr schwierig ist, eine Lösung zu fi...