Desbordament de nombres enters
A la programació d'ordinadors, es produeix un desbordament de nombres enters quan una operació aritmètica sobre nombres enters intenta crear un valor numèric que es troba fora de l'intèrval que es pot representar amb un nombre determinat de dígits, ja sigui superior al màxim o inferior al valor representable mínim.
El resultat més comú d'un desbordament és que s'emmagatzemen els dígits representables menys significatius del resultat; es diu que el resultat s'embolcalla al voltant del màxim. En alguns processadors com les unitats de processament de gràfics (GPU) i els processadors de senyal digital (DSP) que admeten l'aritmètica de saturació, els resultats desbordats es fixarien, és a dir, s'establiria el valor mínim de l'interval representable si el resultat està per sota del mínim i s'establiria el valor màxim de l'interval representable si el resultat està per sobre del màxim, en lloc d'embolcallar
.
Una condició de desbordament pot donar lloc a resultats que condueixin a un comportament no desitjat. Per tant si no s'ha previst aquesta possibilitat, el desbordament pot comprometre la fiabilitat i la seguretat d'un programa.
Per a algunes aplicacions, com ara temporitzadors i rellotges, pot ser desitjable embolicar el desbordament. L' estàndard C11 estableix que per als enters sense signe, l'embolcall de mòdul és el comportament definit i, per tant, el terme desbordament mai s'aplica: "un càlcul que involucri operands sense signe mai no pot desbordar-se".[1]
- ↑ ISO staff. «ISO/IEC 9899:2011 Information technology - Programming languages - C». ANSI.org.