Ordenadores almacenan números en formato binario , es decir, como una secuencia de 1 y 0 . El rango de números que puede ser expresado por un número binario es 2 a la potencia de la cantidad de números binarios que componen la secuencia . Por ejemplo, un entero de 32 bits puede contener 2 a la potencia de 32 ( 4294967296 ) números únicos . Si tal un entero celebrará el número más grande que era capaz de expresar y se añadió el número 1 a la misma, que se desbordaba . Eso significa que el número podría empezar de nuevo a 0 . Comprobación de desbordamiento de enteros es vital para la captura de los errores del programa - que se estrellan en C o C + + . Cosas que necesitará
C + + entorno de desarrollo integrado ( IDE ) , como Eclipse CDT
C + + Compiler , como G+ +
Mostrar más instrucciones
1
Comience el C + + IDE haciendo clic en su icono y esperar a que cargue .
2
Hacer un nuevo proyecto haciendo clic en "Archivo /nuevo proyecto. " Un archivo de código fuente en blanco en el espacio de trabajo
3
Crear una función principal al escribir las siguientes líneas de código: .
Int main ()
< p > {
}
4
declare tres variables: dos enteros de 16 bits de ancho y un amplio número entero de 32 bits por escrito las siguientes dos líneas dentro de los corchetes de la función principal :
uint16_t a, b , c
uint32_t ;
5
Añadir los dos enteros de 16 bits de ancho , junto con la siguiente operación:
< p > c = a + b;
6
Prueba de desbordamiento mediante la comparación de la variable c con el valor máximo de una variable uint16_t puede sostener ( 2 a la potencia de 16 -1 , o 65535 ) . Si los resultados de esta prueba en verdad, un desbordamiento se produce si se intenta añadir estos dos números y los almacena en una variable uint16_t .
If ( c > = 65.535 )
{
}
7
Publicar un mensaje de error dentro de las llaves de si se ha detectado la declaración anterior para que el programador sabe un desbordamiento. Se puede escribir esto:
cerr << "Desbordamiento detecta cuando se añade a + b" << endl ;