Почему я могу работать с Int> +32767?C++

Программы на C++. Форум разработчиков
Anonymous
Почему я могу работать с Int> +32767?

Сообщение Anonymous »

Я могу прочитать, что диапазон int (подписан) от [−32767, +32767]
, но я могу сказать, например, < /p>
int a=70000;
int b=71000;
int c=a+b;

printf("%i", c);
return 0;
< /code>
и выход составляет 141000 (правильно). Разве отладчик не должен сказать мне
«Эта операция не в диапазоне» или что -то подобное? Если сумма превышает это число, результат является отрицательным, что ожидается, но если это вычитание, например: 2147483649-2147483647 = 2 Результат все еще хорош. Я имею в виду, почему значение 2147483649 правильно удерживается для этой цели вычитания (или, по крайней мере, мне кажется)?

Подробнее здесь: https://stackoverflow.com/questions/348 ... -int-32767

Вернуться в «C++»