Ein Rollover bezieht sich in der Computersprache auf die Situation, wenn eine Zahl den Maximalwert überschreitet, der in einer bestimmten Anzahl von Bits gespeichert werden kann, und die Darstellung auf den niedrigsten Wert zurückspringt. Dies geschieht normalerweise bei der Ganzzahlarithmetik, bei der Zahlen in einer festen Anzahl von Bits gespeichert werden und der Maximalwert durch die Größe des Registers bestimmt wird.
In einem 8-Bit-Register ist beispielsweise die größte positive Zahl, die dargestellt werden kann, 2^7 - 1 =127. Wenn der Wert um eins erhöht wird, wird er auf -128 umgestellt, was die niedrigste negative Zahl ist kann in der gleichen Anzahl von Bits dargestellt werden. Denn wenn das 8. Bit auf 1 gesetzt ist, zeigt es eine negative Zahl an und die restlichen 7 Bits werden zur Darstellung der Größe verwendet.
Ein Rollover kann in verschiedenen Szenarien auftreten, wie zum Beispiel:
Ergänzung: Beim Addieren zweier großer positiver Zahlen kann das Ergebnis den maximalen positiven Wert überschreiten, was zu einem Rollover auf einen großen negativen Wert führt.
Subtraktion: Das Subtrahieren einer großen positiven Zahl von einer kleinen positiven Zahl kann zu einem Rollover auf einen negativen Wert führen.
Multiplikation: Wenn das Produkt zweier großer Zahlen den Maximalwert überschreitet, kann es zu einem Rollover kommen.
Abteilung: In einigen Fällen kann es bei der Division zweier großer Zahlen vorkommen, dass der Quotient nicht in der angegebenen Anzahl von Bits darstellbar ist, was zu einem Rollover führt.
Um Rollover-Fehler zu vermeiden, ist es wichtig, die Größe und den Bereich der verwendeten Zahlen zu berücksichtigen und geeignete Techniken wie Typumwandlung oder die Verwendung größerer Datentypen zur Verarbeitung größerer Werte anzuwenden. Alternativ kann modulare Arithmetik verwendet werden, um Zahlen innerhalb eines bestimmten Bereichs zu verarbeiten.