Ganzzahlüberlauf

Ganzzahlüberlauf

Ein Ganzzahlüberlauf (englisch integer overflow) tritt auf, wenn ein Computer Berechnungen mit begrenzter Stellenzahl durchführt und das Rechenergebnis zur Darstellung mehr Stellen erfordert. Die Stellenanzahl und damit der Wertebereich ist durch das Rechenwerk begrenzt.

Das Rechenwerk heutiger Computer ist meist für 32 oder 64 Binärstellen ausgelegt. Tritt hier ein Ganzzahlüberlauf auf, wird das im Statusregister des Prozessors registriert; dieser Fall kann vom Programmierer festgestellt werden.

Ein anderer Fall liegt vor, wenn ein Rechenergebnis in einer Variablen gespeichert wird, die weniger Stellen als das Rechenwerk aufweist. Dieser Fall wird vom Prozessor nicht automatisch erkannt, die Variable erhält einen falschen Wert.

Nur durch die Verwendung von Funktionsbibliotheken ist es möglich, Berechnungen mit Millionen von Stellen durchzuführen ohne einen Ganzzahlüberlauf zu erreichen.

Ein Beispiel aus der ProgrammierspracheC“: Der Datentyp unsigned char umfasst 8 Bit. Sein Wertebereich reicht von 0 bis 255.

unsigned char a = 255;
unsigned char b = 2;
unsigned char Ergebnis = a + b;

Die zugehörige duale Rechnung veranschaulicht den Ganzzahlüberlauf:

  11111111 (a)
+ 00000010 (b)
----------
 100000001 (Ergebnis)


Die vordere Eins, das neunte Bit, ist nicht in den 8 Bit des gewählten Datentyps enthalten. Betrachtet man nur diese letzten 8 Bit, so erhält man 00000001, also 1 und nicht 257. Selbst wenn die Zahlenwerte bei der Übersetzung des Programmcodes schon feststehen, ignorieren manche C-Compiler diese Überläufe, was zu falschen Ergebnissen führt. Daher sollte der Datentyp immer ausreichend groß gewählt werden.

Bei plattformunabhängiger Programmierung sollte der Ganzzahlüberlauf nicht absichtlich benutzt werden, da der Wertebereich der Datentypen und damit der Punkt des Überlaufs auf den Zielsystemen unterschiedlich sein kann.


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Integer overflow — Ein Ganzzahlüberlauf (englisch integer overflow) tritt auf, wenn ein Computer Berechnungen mit begrenzter Stellenzahl durchführt und das Rechenergebnis zur Darstellung mehr Stellen erfordert. Die Stellenanzahl und damit der Wertebereich ist durch …   Deutsch Wikipedia

  • Integeroverflow — Ein Ganzzahlüberlauf (englisch integer overflow) tritt auf, wenn ein Computer Berechnungen mit begrenzter Stellenzahl durchführt und das Rechenergebnis zur Darstellung mehr Stellen erfordert. Die Stellenanzahl und damit der Wertebereich ist durch …   Deutsch Wikipedia

  • Data Execution Prevention — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

  • Datenausführungsverhinderung — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

  • Enhanced Virus Protection — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

  • Execute-Disable-Bit — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

  • MMX-Technologie — Intel Prozessor mit MMX Die Multi Media Extension (kurz MMX) ist eine Anfang 1997 von Intel auf den Markt gebrachte Rechnerarchitektur, die es erlaubt, größere Datenmengen parallelisiert und somit schneller zu verarbeiten. Die… …   Deutsch Wikipedia

  • Matrix Math Extensions — Intel Prozessor mit MMX Die Multi Media Extension (kurz MMX) ist eine Anfang 1997 von Intel auf den Markt gebrachte Rechnerarchitektur, die es erlaubt, größere Datenmengen parallelisiert und somit schneller zu verarbeiten. Die… …   Deutsch Wikipedia

  • NX-Speicherschutz — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

  • XD-Bit — Das NX Bit (No eXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86 Markt einführte. Die Technik wird von AMD als „Enhanced Virus… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”