Почему я могу работать с 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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