Mengapa 0 <-0x80000000?

Saya memiliki program sederhana di bawah ini: #include <stdio.h> #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Kondisinya if(bal < INT32_MIN )selalu benar....