En rollover i datortermer hänvisar till situationen när ett antal överskrider det maximala värdet som kan lagras i ett givet antal bitar och representationen lindas tillbaka till det lägsta värdet. Detta sker vanligtvis i heltalsaritmetik, där tal lagras i ett fast antal bitar och det maximala värdet bestäms av registrets storlek.
Till exempel, i ett 8-bitars register är det största positiva talet som kan representeras 2^7 - 1 =127. Om värdet ökas med ett kommer det att rulla över till -128, vilket är det lägsta negativa talet som kan representeras i samma antal bitar. Detta beror på att när den 8:e biten är satt till 1 indikerar den ett negativt tal och de återstående 7 bitarna används för att representera storleken.
Överrullning kan ske i olika scenarier som:
Tillägg: När du lägger till två stora positiva tal kan resultatet överstiga det maximala positiva värdet, vilket leder till en övergång till ett stort negativt värde.
Subtraktion: Att subtrahera ett stort positivt tal från ett litet positivt tal kan orsaka en rollover till ett negativt värde.
Multiplikation: Om produkten av två stora siffror överstiger maxvärdet kan en rollover inträffa.
Division: I vissa fall, när man delar två stora tal, kanske kvoten inte kan representeras i det givna antalet bitar, vilket resulterar i en rollover.
För att undvika överrullningsfel är det viktigt att överväga storleken och intervallet för siffror som används och använda lämpliga tekniker som typgjutning eller att använda större datatyper för att hantera större värden. Alternativt kan modulär aritmetik användas för att hantera tal inom ett specificerat område.