Der Weg Computern umgehen negativen Zahlen ist anders als die Art und Weise Menschen zu tun. Es gibt keine Minuszeichen in binärer und so ein System bekannt als Zweierkomplement verwendet wird. Bei diesem System wird der Raum zum Speichern einer Nummer in zwei Teile geteilt , die Hälfte der positiven Zahlen und die Hälfte der negativen . Die größte 32 -Bit-Integer ist 4294967295 . Beim Umgang mit positiven und negativen Zahlen , wie unterzeichnet Zahlen bekannt , ist die größte 32-bit positive Zahl 2147483647 und der größte negative Zahl ist -2,147,483,648 . Da diese die Grenzen der 32-Bit- Zahlen gibt es ist ein seltsames Phänomen, bei dem 1 bis 2.147.483.647 Ergebnisse Zugabe in -2,147,483,648 . Eine einfache Visual C + +-Projekt veranschaulicht dies. Things You
Microsoft Visual C + brauchen + 2010 Express
anzeigen Weitere Anweisungen
1
Klicken Sie den Windows- Symbol "Start" , wählen Sie " Alle Programme ", dann " Microsoft Visual Studio 2010 Express ". Klicken Sie auf " Microsoft Visual C + + 2010 Express . "
2
Klicken Sie auf das Menü "Datei" und navigieren Sie zu "Neu." Klicken Sie auf " Project", um das neue Projekt zu öffnen.
3
Klicken Sie auf " Win32 " in der installierten Vorlagen Baumansicht auf der linken Seite des Dialogs . Klicken Sie auf " Win32 Console Application . " Geben Sie einen Namen für das Projekt ( z. B. " negativenumbers " ) im Feld "Name : "-Feld in Richtung der Unterseite des Dialogs. Klicken Sie auf " OK ", um die "Win32 Application Wizard "-Dialog zu öffnen. Klicken Sie auf " Fertig stellen". Obwohl dies ein C + +-Projekt , ist der Code im nächsten Schritt pure C.
4
Ersetzen Sie die Standard-Code , der im Editor erscheint mit dem folgenden Code:
# 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 * /Tablet
printf ( "unsigned int : % u \\ n", ui );
printf (" int :% d \\ n", i);
ui = 2147483647 ;
< p> 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);
return 0;
}
5
Presse "F7" oder klicken Sie auf " Debug "-Menü , dann " Projektmappe erstellen ", um das Programm zu kompilieren und zeigen das Ergebnis im Output-Fenster in Richtung der Unterseite Visual C + + :
========== Erstellen : 1 erfolgreich , Fehler bei 0 , 0 up-to -date , 0 übersprungen ==========
< p> Wenn das Ergebnis " 0 erfolgreich " und dann eine Reihe von Fehlern , überprüfen Sie den Code, den Sie eingegeben haben und sicherzustellen, dass es identisch mit dem Code in Schritt 4 .
6
Drücken Sie "Strg + F5 ", um das Programm auszuführen.