Я могу прочитать, что диапазон 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
Почему я могу работать с Int> +32767? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать список[int, int, int] в кортеж[int, int, int], а не в кортеж[int, ...]
Anonymous » » в форуме Python - 0 Ответы
- 290 Просмотры
-
Последнее сообщение Anonymous
-