История изменений
Исправление forCe, (текущая версия) :
Как думаешь – сколько программ на C сломаются, если определить int равный одному байту (8 битам)?
В 5.2.4.2.1 Sizes of integer types <limits.h> сказано:
Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.
...
minimum value for an object of type int INT_MIN -32767
maximum value for an object of type int INT_MAX +32767
maximum value for an object of type unsigned int UINT_MAX 65535
...
Конкретно это я взял из последнего драфта C11, но это есть и в других сишных стандартах, разве что разделы могут быть другие.
Если ты боишься, что не влезешь в это на одной из платформ, под которые пишешь - используй типы фиксированного размера.
Исходная версия forCe, :
Как думаешь – сколько программ на C сломаются, если определить int равный одному байту (8 битам)?
В 5.2.4.2.1 Sizes of integer types <limits.h> сказано:
Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.
...
minimum value for an object of type int INT_MIN -32767 maximum value for an object of type int INT_MAX +32767 maximum value for an object of type unsigned int UINT_MAX 65535
...
Конкретно это я взял из последнего драфта C11, но это есть и в других сишных стандартах, разве что разделы могут быть другие.
Если ты боишься, что не влезешь в это на одной из платформ, под которые пишешь - используй типы фиксированного размера.