Получается, что только ручками под конкретную реализацию Нужно посмотреть размер short, есть надежда что он 2 байта
см. табл 1
short короткое целое
int lower, upper, step;
float fahr, celsius;
Тип int означает, что все переменные списка целые; тип float пред-
назначен для чисел с плавающей точкой, т.е. для чисел, которые могут
иметь дробную часть. Точность как int , tak и float зависит от конкрет-
- 11 -
ной машины, на которой Вы работаете. На PDP-11, например, тип int соот-
ветствует 16-битовому числу со знаком, т.е. числу, лежащему между -32768
и +32767. Число типа float - это 32-битовое число, имеющее около семи
значащих цифр и лежащее в диапазоне от 10е- до 10е+. В главе 2 приво-
дится список размеров для других машин.
В языке "C" предусмотрено несколько других основных типов данных,
кроме int и float:
char символ - один байт
short короткое целое
long длинное целое
double плавающее с двойной точностью
Слово int в таких ситуациях может быть опущено, что обычно и делается.
Количество битов, отводимых под эти об'екты зависит от имеющейся
машины; в таблице ниже приведены некоторые характерные значения.
Таблица 1
----------------------------------------------------------- | DEC PDP-11 Honeywell IBM 370 Interdata | 6000 8/32 | | ascii ascii ebcdic ascii | | char 8-bits 9-bits 8-bits 8-bits | int 16 36 32 32 | short 16 36 16 16 | long 32 36 32 32 | float 32 36 32 32 | double 64 72 64 64 | | ----------------------------------------------------------- ...Цель состоит в том, чтобы short и long давали возможность в зависимости от практических нужд использовать различные длины целых; тип int отражает наиболее "естественный" размер конкретной машины. Как Вы видите, каждый компилятор свободно интерпретирует short и long в соответствии со своими аппаратными средствами. Все, на что Вы можете твердо полагаться, это то, что short не длиннее, чем long.