En rollover i computertermer refererer til den situation, hvor et tal overstiger den maksimale værdi, der kan lagres i et givet antal bits, og repræsentationen går tilbage til den laveste værdi. Dette sker normalt i heltalsaritmetik, hvor tal gemmes i et fast antal bit, og den maksimale værdi bestemmes af registrets størrelse.
For eksempel i et 8-bit register er det største positive tal, der kan repræsenteres, 2^7 - 1 =127. Hvis værdien øges med én, vil den rulle over til -128, som er det laveste negative tal, der kan repræsenteres i det samme antal bits. Dette skyldes, at når den 8. bit er sat til 1, angiver den et negativt tal, og de resterende 7 bit bruges til at repræsentere størrelsen.
Rollover kan forekomme i forskellige scenarier, såsom:
Tilføjelse: Når du tilføjer to store positive tal, kan resultatet overskride den maksimale positive værdi, hvilket fører til en overgang til en stor negativ værdi.
Subtraktion: Hvis du trækker et stort positivt tal fra et lille positivt tal, kan det medføre, at det går over til en negativ værdi.
Multiplikation: Hvis produktet af to store tal overstiger den maksimale værdi, kan der ske en rollover.
Division: I nogle tilfælde, når man dividerer to store tal, kan kvotienten muligvis ikke repræsenteres i det givne antal bit, hvilket resulterer i en rollover.
For at undgå rollover-fejl er det vigtigt at overveje størrelsen og rækken af tal, der bruges, og anvende passende teknikker såsom typestøbning eller brug af større datatyper til at håndtere større værdier. Alternativt kan modulær aritmetik bruges til at håndtere tal inden for et specificeret område.