Почему 1 не больше -0x80000000. Я знаю, что это имеет какое-то отношение к переполнению. Но может кто-нибудь объяснить, почему? 0x80000000 Не константа Я думаю, что это?
assert(1 > -0x80000000);
Утверждающие триггеры в С++. Почему это?
Я благодарен за предоставленный ответ. Но определяет ли стандарт С++, что константа должна быть сохранена в 32-битном целом? Почему компилятор не признал, что 80000000 не подходит для 32-битного целого и использовать для него 64-битное? Я имею в виду, что наибольший 32-битный int может быть 0x7FFFFFFF. 0x80000000, очевидно, больше этого. Почему компилятор все еще использует 32 бит для этого?