“Conocimientos Programación>C /C + + Programming

Cómo comprobar desbordamiento de enteros

2013/3/10
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 ;

C /C + + Programming
Cómo escribir un programa para convertir minúsculas a mayúsculas en C + +
Cómo escribir un C + + Programa Media
Cómo desarrollar desplegables aplicaciones de Windows Mobile
Cómo depurar C + + Tags
Cómo pasar un Vector Container a una función
Cómo cambiar el nombre del botón Disminución en el iPhone
¿Cuáles son los cuatro tipos diferentes de relación de herencia
Cómo escribir un API MFC para el cierre de estaciones de trabajo
Conocimientos Informáticos © http://www.ordenador.online