Computers slaan nummers in binair formaat , dat is , als een opeenvolging van 1 's en 0's . De reeks van getallen die door een binair getal kan worden uitgedrukt is 2 tot de macht van de hoeveelheid binaire cijfers waaruit de sequentie . Zo kan een 32 - bit integer houden 2 tot de macht 32 ( 4294967296 ) unieke nummers . Indien dergelijke integer had het grootste getal dat in staat was tot expressie en het nummer 1 werd toegevoegd, het zou overflow . Dat betekent dat de nummers zouden dan beginnen bij 0 . Controleren op integer overflow is essentieel voor het vangen van programma - crashen fouten in C of C + + . Wat je nodig hebt C + + Integrated Development Environment ( IDE ) , zoals Eclipse CDT C + + Compiler , zoals G+ + Toon meer instructies 1 Start de C + + IDE door te klikken op het pictogram en wachten op het laden . kopen van 2 Maak een nieuw project door te klikken op " File /New project . " Een lege broncode bestand wordt weergegeven in de werkruimte 3 Maak een hoofdfunctie door het schrijven van de volgende regels code : . Int main ( ) op { } 4 Declare drie variabelen : twee 16 - bit brede integers en een 32 - bit brede integer door het schrijven van de volgende twee lijnen binnen de accolades van de hoofdfunctie : uint16_t a , b ; uint32_t c ; 5 Voeg de twee 16 - bit brede gehele getallen bij elkaar met behulp van de volgende bewerking : c = a + b ; test voor overloop door vergelijking van de variabele c op de maximale waarde een uint16_t variabele kan opslaan ( 2 tot de macht 16 -1 of 65535 ) 6 . Als deze test resulteert in true, zal een overflow optreden als u probeert deze twee nummers toe te voegen en op te slaan in een uint16_t variabele . If ( c > = 65.535 ) op Twitter { } Plaats 7 een foutmelding binnen de accolades van de if-statement boven te laten de programmeur weet een overloop is gedetecteerd . ; Cerr << " Overflow gedetecteerd bij het toevoegen van a + b " << endl : je kon dit te schrijven |