En rollover i datatermer refererer til situasjonen når et tall overskrider den maksimale verdien som kan lagres i et gitt antall biter og representasjonen går tilbake til den laveste verdien. Dette skjer vanligvis i heltallsaritmetikk, hvor tall lagres i et fast antall biter og maksimumsverdien bestemmes av størrelsen på registeret.
For eksempel, i et 8-bits register er det største positive tallet som kan representeres 2^7 - 1 =127. Hvis verdien økes med én, vil den rulle over til -128, som er det laveste negative tallet som kan representeres i samme antall biter. Dette er fordi når den 8. biten er satt til 1, indikerer den et negativt tall og de resterende 7 bitene brukes til å representere størrelsen.
Overrulling kan skje i ulike scenarier som:
Tillegg: Når du legger til to store positive tall, kan resultatet overskride den maksimale positive verdien, noe som fører til en overgang til en stor negativ verdi.
Subtraksjon: Å subtrahere et stort positivt tall fra et lite positivt tall kan føre til en velt til en negativ verdi.
Multiplikasjon: Hvis produktet av to store tall overskrider maksimumsverdien, kan det oppstå en rollover.
Divisjon: I noen tilfeller, når du deler to store tall, kan det hende at kvotienten ikke kan representeres i det gitte antall biter, noe som resulterer i en velt.
For å unngå rollover-feil er det viktig å vurdere størrelsen og rekkevidden av tall som brukes og bruke passende teknikker som typestøping eller bruk av større datatyper for å håndtere større verdier. Alternativt kan modulær aritmetikk brukes til å håndtere tall innenfor et spesifisert område.