A forma como os computadores lidar com números negativos é diferente da forma como os humanos fazem. Não há sinal de menos em binário e assim por um sistema conhecido como complemento de dois é usado. Sob esse sistema, o espaço usado para armazenar um número é dividido em dois, metade para os números positivos e metade para o negativo . O maior número inteiro de 32 bits é 4294967295 . Ao lidar com números positivos e negativos , conhecidos como números assinados , o maior número positivo de 32 bits é 2147483647 eo maior número negativo é -2147483648 . Uma vez que estes são os limites de números de 32 bits não é um fenômeno estranho, onde a adição de 1 a 2147483647 resultados em -2147483648 . Um simples projeto do Visual C + + demonstra isso. Coisas que você precisa
Microsoft Visual C + + 2010 Express
Show Mais instruções
1
Clique no ícone do Windows " Iniciar", selecione "Todos os Programas ", depois " Microsoft Visual studio 2010 Express. " Clique em " Microsoft Visual C + + 2010 Express ".
2
Clique no menu "Arquivo" e navegue para "New". Clique em " Project" para abrir o diálogo novo projeto.
3
Clique em " Win32 " no modelos de exibição em árvore instalado no lado esquerdo da caixa de diálogo. Clique em " Win32 Console Application ". Digite um nome para o projeto (por exemplo, " negativenumbers ") no campo "Nome :" campo na parte inferior da caixa de diálogo . Clique em " OK" para abrir o diálogo " Assistente de aplicativos Win32 " . Clique em " Finish". Embora este seja um projeto de C + + , o código na próxima etapa é puro C.
4
Substitua o código padrão que aparece no editor com o seguinte código :
# include " stdafx.h "
int main (int argc , char * argv []) {
unsigned int ui = 0;
int i = 0;
ui ui = - 1; /* 0 - 1 = 4294967295 * /Tablet
i = i - 1; /* 0 -1 = -1 * /
printf (" unsigned int :% u \\ n" , ui );
printf (" int :% d \\ n", i);
ui = 2147483647 ;
i = 2147483647 ;
ui ui = + 1 /* 2147483647 + 1 = 2147483648 * /Tablet
i = i + 1; /* 2147483647 + 1 = -2147483648 * /
printf (" unsigned int :% u \\ n" , ui );
printf (" int :% d \\ n", i);
retornar 0 ;
}
5
Pressione " F7 " ou clique no menu "Debug " e depois em " Build Solution " para compilar o programa e mostrar o resultado na janela de saída na parte inferior da Visual C + +:
========== Envergadura: 1 conseguiu, 0 failed, 0 up- to-date , 0 pulado ==========
Se o resultado for " 0 sucedido " e , em seguida, uma série de falhas , verifique o código que você digitou e garantir que ele é idêntico ao código no Passo 4.
6
Pressione "Ctrl + F5 "para executar o programa.