основыкнигиwin/dos*nixготовоелирикагостиФОРУМПОИСК
Б.В. Керниган, Д.М. Ричи -- Язык C

2.2. Типы и размеры данных

      В языке "C" имеется только несколько основных типов данных: CHAR один байт, в котором может находиться один символ из внутреннего набора символов. INT Целое, обычно соответствующее естественному размеру целых в используемой машине. FLOAT С плавающей точкой одинарной точности. DOUBLE С плавающей точкой двойной точности.
      Кроме того имеется ряд квалификаторов, которые можно использовать с типом INT: SHORT (короткое), LONG (длинное) и UNSIGNED (без знака). Квалификаторы SHORT и LONG указывают на различные размеры целых. Числа без знака подчиняются законам арифметики по модулю 2 в степени N, где N -- число битов в INT; числа без знаков всегда положительны. Описания с квалификаторами имеют вид:

    SHORT INT X;
    LONG INT Y;
    UNSIGNED INT Z;

      Cлово 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.

ПРЕДЫДУЩАЯ ЧАСТЬ
2.1. Имена переменных
СОДЕРЖАНИЕ СЛЕДУЮЩАЯ ЧАСТЬ
2.3. Константы