Разница в размере между типами данных char и short в разных архитектурах возникает из-за различий в размере байта на разных платформах. 1
На большинстве архитектур размер байта равен 8 бит, но бывают и исключения. 1 Например, процессоры с 36-битной архитектурой, как правило, имеют 9-битный байт, а в некоторых DSP от Texas Instruments байты состоят из 16 или 32 бит. 1 Древние архитектуры могут иметь короткие байты из 4, 5 или 7 бит. 1
Стандарт C не устанавливает строго определённый размер для базовых целочисленных типов, таких как char и short, а определяет лишь минимальные рамки для каждого типа. 12 Так, минимальный размер для char — 8 бит, для short и int — 16 бит. 2
При этом стандарт устанавливает минимальные диапазоны принимаемых значений для всех базовых целочисленных типов. 1