datorer lagrar tal i binärt format , som är , som en följd av 1: or och 0: or . Utbudet av tal som kan uttryckas med ett binärt tal är 2 upphöjt till mängden av binära tal som utgör sekvensen . Till exempel kan ett 32 - bitars heltal håll 2 upphöjt till 32 ( 4294967296 ) unika nummer . Om en sådan heltal höll det största antalet var det kan uttrycka och antalet 1 sattes till den , det skulle spill . Det innebär att siffrorna skulle börja om på 0 . Kontroll för integer overflow är viktigt att fånga program - kraschar fel i C eller C + + . Saker du behöver
C + + Integrated Development Environment ( IDE ) , t.ex. Eclipse CDT
C + + kompilator , såsom G+ +
Visa fler instruktioner
1
Starta C + + IDE genom att klicka på dess ikon och vänta på att ladda.
2
Gör ett nytt projekt genom att klicka på " File /New Project. " En tom källkod filen visas i arbetsytan
3
Skapa en huvuduppgift genom att skriva följande kodrader : .
Int main ( ) katalog
{
}
4
Deklarera tre variabler : två 16 bitars heltal och en 32 - bitars bred heltal genom att skriva följande två rader inom klamrarna i huvudfunktionen :
uint16_t a , b;
uint32_t c ,
5
Lägg de två 16 bitars heltal tillsammans med följande operation :
c = a + b;
6
Test för spill genom att jämföra variabeln c till det högsta värdet en uint16_t variabel kan hålla ( 2 upphöjt till 16 -1 , eller 65535 ) . Om detta testresultat sant , kommer ett spill inträffar om du försöker lägga till dessa två siffror och lagra dem i en uint16_t variabel .
If ( c > = 65535 ) katalog
{
}
7
Lägg ett felmeddelande innanför klamrarna på om uttalandet ovan att låta programmeraren vet ett spill har har upptäckts . Du kan skriva det här :
cerr << " Overflow upptäckt när du lägger till ett + b " << endl;