私はC++プログラムをデバッグしていましたが、何らかの理由で、私のバージョンのVisual Studio 2008では、一部の数値が正しく保存されていないように見えることがわかりました。たとえば、番号-3254535440は1040431856として格納されているようです。これらの数値は、long longに格納できるほど小さいため、問題はありません。次のコードを実行すると、両方のエラーメッセージが表示されます。私は2つの異なるマシンで試しました。何か案が?ありがとう!
if (-3254535440 == 1040431856)
printf("ERROR\n");
long long j = -3254535440;
if (j == 1040431856)
printf("ERROR2\n");
Microsoft VisualStudio2008バージョン9.0.30729.1SPでテスト済み