タグ付けされた質問 「numeric-conversion」

6
なぜ0 <-0x80000000なのですか?
以下に簡単なプログラムを示します。 #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } 条件if(bal &lt; INT32_MIN )は常に真です。どのようにして可能ですか? マクロを次のように変更すると正常に動作します。 #define INT32_MIN (-2147483648L) 誰でも問題を指摘できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.