Ich habe einige lange lange Konstanten für Grenzen in meinen Berechnungen. Jetzt habe ich ein veraltetes Verhalten, weil einige Bedingungen nicht gültig sind, weil die Nummern "missinterpretiert" sind. Die erste Ausgabe ist die Zahl, die ich verwenden wollte .... in der Ausgabe kann man sehen, dass das - Zeichen entfernt wurde, also dachte ich über einen Unterlauf, aber wenn ich ein 0 hinzufügen, so dass die Zahl noch höher ist, ist die Ausgabe korrekt ....C++ Visual Studio Wired Verhalten von signed Ganzzahl
ich Visual Studio 2012
cout<<-2147483648<<endl;
cout<<-2147483649<<endl;
cout<<-21474836480<<endl;
cout<<-21474836490<<endl;
cout<<-214748364800<<endl;
cout<<-214748364900<<endl;
wie Sie sehen können, bin mit in die ersten 2 Zeilen das - Zeichen wird entfernt
2147483648
2147483647
-21474836480
-21474836490
-214748364800
-214748364900
irgendeine Idee, was ist das Problem hier?
https://en.wikipedia.org/wiki/Integer_overflow – Boiethios
Ihr Beispiel nicht kompiliert auch in VS2012 . Es schlägt mit der folgenden Fehlermeldung für diese 2 Zeilen fehl: "Fehler C4146: unärer Minus-Operator, der auf vorzeichenlosen Typ angewandt wird, Ergebnis noch vorzeichenlos". –