Datamaskiner antall butikker i binært format , det vil si som en sekvens av 1-ere og 0-tallet . Utvalget av tall som kan uttrykkes ved et binært tall er 2 opphøyd i mengden av binære tall som utgjør sekvensen. For eksempel kan en 32 -bits heltall holde to til makten til 32 ( 4294967296 ) unike numre . Dersom et slikt heltall holdt det største antallet det var i stand til å uttrykke og tallet 1 ble lagt til det, ville det overløp. Det betyr at tallene ville starte på 0 . Ser etter heltalloverflyt er viktig å fange program - krasj feil i C eller C + + . Du trenger
C + + Integrated Development Environment ( IDE ), for eksempel Eclipse CDT
C + + Compiler , som G+ +
Vis flere instruksjoner
en
Start C + + IDE ved å klikke på ikonet og venter på det å laste.
2
Lag et nytt prosjekt ved å klikke på "File /New Project. " En tom kildekoden filen vises i arbeidsområdet
3
Lag en hovedfunksjon ved å skrive følgende linjer med kode : .
Int main ( )
< p > {
}
4
Erklærer tre variabler: to 16 -bits brede heltall og en 32 - bit bred heltall ved å skrive følgende to linjer innenfor krøllete parentes av den viktigste funksjonen : en
uint16_t a, b;
uint32_t c ;
5
Legg de to 16 -bits brede heltall sammen ved hjelp av følgende operasjon :
< p > c = a + b;
6
Test for overløp ved å sammenligne variabelen c til maksimumsverdien en uint16_t variabel kan holde ( 2 opphøyd i 16 -1 , eller 65535) . Hvis dette testresultater i oppfyllelse, vil et overløp oppstå hvis du prøver å legge disse to tallene og lagre dem i en uint16_t variabel .
If ( c > = 65 535 )
{
}
7
inn en feilmelding inne i klammeparentes av hvis setningen ovenfor for å la programmerer vet overløp har blitt oppdaget. Du kan skrive dette : en
cerr << " Overflow oppdaget når du legger til en + b " << endl;