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. Константы |