вторник, 11 февраля 2014 г.

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

Базовые типы языка программирования Си:

char - единичный байт, который может содержать один символ;
int - целое, обычно отображающее естественное представление целых на машине;
float - число с плавающей точкой одинарной точности;
double - число с плавающей точкой двойной точности.

Имеется также несколько квалификаторов, которые можно использовать вместе с указанными базовыми типами. Например, квалификаторы short и long применяются к целым:
short int sh;
long int counter;
В таких объявлениях слово int можно опускать, что обычно и делается.

Размеры объектов типов short int, int и long int зависят от реализации компилятора, но должны быть соблюдены следующие правила:

  • значения типов short и int представляются по крайней мере 16 битами;
  • типа long — по крайней мере 32 битами;
  • размер short не больше размера int, который в свою очередь не больше размера long.

Квалификаторы signed (со знаком) или unsigned (без знака) можно применять к типу char и любому целочисленному типу. Значения unsigned всегда положительны или равны нулю и подчиняются законам арифметики по модулю
,
где n — количество битов в представлении типа. Так, если значению char отводится 8 битов, то unsigned char имеет значения в диапазоне от 0 до 255, a signed charот -128 до 127. Являются ли значения типа просто char знаковыми или беззнаковыми, зависит от реализации, но в любом случае коды печатаемых символов положительны.

Тип long double предназначен для арифметики с плавающей точкой повышенной точности. Как и в случае целых, размеры объектов с плавающей точкой зависят от реализации; float, double и long double могут представляться одним размером, а могут двумя или тремя разными размерами.

Именованные константы для всех размеров вместе с другими характеристиками машины и компилятора содержатся в стандартных заголовочных файлах <limits.h> и <float.h>.

Комментариев нет:

Отправить комментарий