La forma computadoras manejan números negativos es diferente de la forma que los humanos . No hay ningún signo menos en binario y por lo que un sistema conocido como se utiliza el complemento a dos . Bajo este sistema, el espacio utilizado para almacenar un número se divide en dos, la mitad de los números positivos y la otra mitad para el negativo. El mayor número entero de 32 bits es 4294967295 . Cuando se trabaja con números positivos y negativos , conocidos como números con signo , el mayor número positivo de 32 bits es 2147483647 y el mayor número negativo es -2147483648 . Dado que estos son los límites de números de 32 bits no es un fenómeno extraño en la adición de 1 a 2.147.483.647 resultados en -2147483648 . Un simple de Visual C + + proyecto demuestra esto. Cosas que necesitará
Microsoft Visual C + + 2010 Express
Ver Más instrucciones
1
Haga clic en el icono de Windows " Inicio" , seleccione " Todos los programas ", luego " Microsoft Visual Studio 2010 Express " . Haga clic en " Microsoft Visual C + + 2010 Express. "
2 Haga clic en el menú " Archivo" y vaya a "Nuevo". Haga clic en " proyecto" para abrir el cuadro de diálogo nuevo proyecto.
3
Haga clic en " Win32 " en las plantillas de vista de árbol instalado en la parte izquierda del cuadro de diálogo . Haga clic en " Aplicación de consola Win32. " Introduzca un nombre para el proyecto ( por ejemplo, " negativenumbers ") en el campo "Nombre : " campo hacia la parte inferior del cuadro de diálogo . Haga clic en " Aceptar " para abrir el cuadro de diálogo " Asistente para aplicaciones Win32 " . Haga clic en " Finalizar". Aunque se trata de un proyecto de C + +, el código en el siguiente paso es pura C.
4
Reemplace el código predeterminado que aparece en el editor con el siguiente código :
# include " stdafx.h "
int main (int argc, char * argv [ ] ) {
unsigned int ui = 0 ;
int i = 0 ;
ui ui = - 1 ; /* 0 - 1 = 4294967295 * /foto
i = i - 1 , /* 0 -1 = -1 * /foto
printf ( "int sin signo : % u \\ n", ui ) ;
printf ( "int :% d \\ n", i);
ui = 2147483647 ;
< p> i = 2147483647 ;
ui ui + = 1 ; /* 2147483647 + 1 = 2147483648 * /foto
i = i + 1 ; /* 2147483647 + 1 = -2147483648 * /
printf ( "int sin signo : % u \\ n", ui ) ;
printf ( "int :% d \\ n", i);
return 0;
}
5
Press " F7" o haga clic en el menú "Debug " y " Generar solución " para compilar el programa y mostrar el resultado en la ventana de salida hacia la parte inferior Visual C + +:
========== Generar : 1 correctos , 0 incorrectos, 0 hasta al fecha, 0 omitidos ==========
< p> Si el resultado es " 0 sucedió ", y luego una serie de fracasos , marque el código que ha introducido y asegurarse de que es idéntico al código en el paso 4 .
6
Presione " Ctrl + F5 "para ejecutar el programa.