Я хочу распечатать переменную целого типа со значением 3000000000;
Итак, я написал приведенный ниже код и запустил его, но напечатанное значение было неверным. Я думаю, что переменная переполнена. Но я не знаю почему.
#include<stdio.h>
int main(void) {
unsigned int num1 = 3000000000;
printf("%d", num1);
}
Насколько я знаю, максимальное значение переменной целого типа без знака равно (2 ^ 32-1 = 4 294 967 296 - 1) , когда код соответствует Win32 API.
Но напечатанное значение равно -1294967296.
Понятия не имею, почему в моем коде происходит переполнение.
Если кто-то знает причину, пожалуйста, дайте мне знать:)
С уважением,
- Я использую Microsoft Visual Studio 2015 Professional.