LINUX.ORG.RU

История изменений

Исправление 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, но это есть и в других сишных стандартах, разве что разделы могут быть другие.

Если ты боишься, что не влезешь в это на одной из платформ, под которые пишешь - используй типы фиксированного размера.