Sancho писал(а):это как?
Типы short, int, long и long long не имеют стандартного размера.
Как правило, их размер определяется исходя из процессорной архитектуры.
Пример
Для 8-битных микроконтроллеров: char— 8 бит, int-16 бит, long, float, double— 32 бита.
Для 32-х битных: char— 8 бит, short-16 бит, int, float— 32 бита,long, double— 64 бита.
Чтобы избавиться от неразберихи при переносе на разные платформы в стандарт были введены типы с фиксированным размером: uint8_t, int32_t, uint16_t, int64_t и т.д.
Это кратко, подробнее- знаете
где искать.