Il modo di gestire i computer i numeri negativi è diverso il modo in cui gli esseri umani. Non vi è alcun segno meno in binario e quindi un sistema noto come viene usato il complemento a due . Con questo sistema, lo spazio utilizzato per memorizzare un numero viene diviso in due, metà per i numeri positivi e mezzi per il negativo . Il più grande numero intero a 32 bit è 4.294.967.295. Quando si tratta di numeri positivi e negativi , noti come numeri con segno , il numero positivo a 32 bit più grande è 2.147.483.647 e il maggior numero negativo è -2,147,483,648 . Dato che questi sono i limiti di numeri a 32 bit vi è un fenomeno strano in cui l'aggiunta di 1 a 2.147.483.647 risultati in -2,147,483,648 . Un semplice di Visual C + + progetto dimostra questo . Cose che ti serviranno
Microsoft Visual C + + 2010 Express
Mostra più istruzioni
1
Fare clic sull'icona di Windows "Start " , selezionare " Tutti i programmi ", quindi " Microsoft Visual Studio 2010 Express . " Fare clic su "Microsoft Visual C + + 2010 Express . "
2 Fare clic sul menu "File" e navigare a " Nuovo ". Fare clic su "Progetto" per aprire la nuova finestra di progetto .
3
Fare clic su " Win32 " nel template installato vista ad albero sul lato sinistro della finestra di dialogo . Fare clic su "Applicazione Console Win32 ". Immettere un nome per il progetto ( ad esempio, " negativenumbers " ) nel campo "Nome :" il campo verso la parte inferiore della finestra di dialogo . Fare clic su "OK" per aprire la finestra di dialogo " Win32 Application Wizard" . Fare clic su "Fine". Anche se questo è un progetto C + + , il codice nel passaggio successivo è pura C.
4
Sostituire il codice predefinito visualizzato nell'editor con il seguente codice :
# include " stdafx.h "
int main ( int argc , char * argv [ ] ) per
{
unsigned int ui = 0;
int i = 0 ;
ui ui = - 1 ; /* 0 - 1 = 4294967295 * /
i = i - 1 ; /* 0 -1 = -1 * /Eventi < p > printf (" unsigned int : % u \\ n" , ui ) ;
printf ( "int : % d \\ n" , i);
ui = 2147483647 ;
< p > i = 2147483647 ;
ui = ui + 1 ; /* 2147483647 + 1 = 2147483648 * /
i = i + 1 ; /* 2147483647 + 1 = -2147483648 * /
printf ( " unsigned int : % u \\ n" , ui ) ;
printf ( "int : % d \\ n" , i);
return 0;
}
5
Premere " F7" oppure fare clic sul menu "Debug" , poi " Genera soluzione " per compilare il programma e mostrare il risultato nella finestra di output verso il fondo della visual C + + :
========== Corporatura : 1 completate , 0 non riuscite , 0 up- to-date , 0 ignorate ==========
< p > Se il risultato è " 0 riuscito " e poi una serie di errori , controllare il codice che avete inserito e assicurarsi che sia identico al codice del punto 4.
6
Premere " Ctrl + F5 " per eseguire il programma .