Язык С

       

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


Языке "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.



    Содержание раздела