Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come controllare Integer Overflow

Computer memorizzano i numeri in formato binario , che è , come una sequenza di 1 e 0 . L'intervallo di numeri che può essere espresso da un numero binario è 2 elevato della quantità di numeri binari che compongono la sequenza . Ad esempio, un intero a 32 bit può contenere 2 alla potenza di 32 ( 4294967296 ) numeri unici . Se tale numero intero tenuto il maggior numero era capace di esprimere e il numero 1 è stato aggiunto ad essa , sarebbe troppo pieno . Ciò significa che il numero sarebbe ricominciare da 0. Verifica di integer overflow è di vitale importanza per gli errori di cattura di programma - si infrangono in C o C + + . Cose che ti serviranno
C + + ambiente di sviluppo integrato ( IDE ) , come ad esempio Eclipse CDT
C + + Compiler , come G+ +
Mostra più istruzioni
1

Inizia il C + + IDE facendo clic sulla sua icona e in attesa che si carichi .
2

Creare un nuovo progetto facendo clic su "File /nuovo progetto . " Un file di codice sorgente vuoto visualizzato nell'area di lavoro
3

Creare una funzione principale , scrivendo le seguenti righe di codice: .

Int main ( ) per

{

}
4

dichiarare tre variabili : due interi larghi 16 bit e una vasta intero a 32 bit , scrivendo le seguenti due linee all'interno delle parentesi graffe della funzione principale :

uint16_t a, b;

uint32_t c ;
5

Aggiungi i due interi larghi 16 bit insieme con la seguente operazione :

c = a + b ;
6

prova per troppo pieno , confrontando la variabile c per il valore massimo di una variabile uint16_t può contenere ( 2 alla potenza di 16 -1 , o 65535 ) . Se i risultati di questa prova in vero , un overflow si verifica se si tenta di aggiungere questi due numeri e la loro memorizzazione in una variabile uint16_t .

If ( c > = 65535 ) per

{

}
7

Inserire un messaggio di errore all'interno delle parentesi graffe del caso è stato rilevato dichiarazione di cui sopra per consentire al programmatore sa un overflow. Si potrebbe scrivere questo :

cerr << "Overflow rilevato quando si aggiunge a + b " << endl;

 

Programmazione © www.354353.com