Хелпикс

Главная

Контакты

Случайная статья





Типы данных С++.



Типы данных С++.

В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения должны иметь определенный тип.

Тип данных определяет:

- внутреннее представление данных в памяти компьютера;

- множество значений, которые могут принимать величины этого типа;

- операции и функции, которые можно применять к величинам этого типа.

Обязательное описание типа позволяет компилятору производить проверку допустимости различных конструкций программы. От типа величины зависят машинные команды, которые будут использоваться для обработки данных.

Все типы языка С++ можно разделить на основные и составные. В языке С++ определено шесть основных типов данных для представления целых, вещественных, символьных и логических величин. На основе этих типов программист может вводить описание составных типов. К ним относятся массивы, перечисления, функции, структуры, ссылки, указатели, объединения и классы.

Основные типы данных часто называют арифметическими, так как их можно использовать в арифметических операциях. Для описания таких типов определены следующие слова:

- int (целый);

- char (символьный);

- wchar_t (расширенный символьный);

- bool (логический);

- float (вещественный);

- double (вещественный с двойной точностью).

Первые четыре типа называют целочисленными, последние два – типами с плавающей точкой.

Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:

- short (короткий);

- long (длинный);

- signed (знаковый);

- unsigned (беззнаковый).

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под величины этого типа отводится 2 байта, для 32-разрядного – 4 байта.

Спецификатор short перед именем типа указывает компилятору, что под число требуется отвести 2 байта независимо от разрядности процессора. Спецификатор long означает, что целая величина будет занимать 4 байта.

Внутреннее представление величины целого типа – целое число в двоичном коде. При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 – положительное число, 1 – отрицательное). Спецификатор unsigned позволяет представлять только положительные числа, так как старший разряд рассматривается как часть кода числа. По умолчанию все целочисленные типы считаются знаковыми.

Тип Диапазон значений Размер (байт)
signed short int -32768 … 32767
unsigned short int 0 … 65535
signed long int -2147483648 … 2147483647
unsigned long int 0 … 4294967295

Под величину символьного типа отводится количество байт, достаточное для размещения любого символа из набора символов для данного компьютера. Как правило, это 1 байт. Тип char может быть со знаком и без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. При использовании спецификатора unsigned значения могут находиться в пределах от 0 до 255. Величины этого типа могут применяться для хранения целых чисел из указанных диапазонов.

Расширенный символьный тип предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например, Unicode.

Величины логического типа могут принимать только значения true и false, являющиеся зарезервированными словами. Внутренняя форма представления значения false – 0. Любое другое значение интерпретируется как true. При преобразовании к целому типу оно имеет значение 1.

Стандарт С++ определяет три типа данных для хранения вещественных значений: float, double, long double.

Тип Диапазон значений Размер (байт)
float 3.4е-38…3.4е+38
double 1.7е-308…1.7е+308
long double 3.4е-4932…3.4е+4932

К основным типам языка также относится тип void, но множество значений этого типа пусто. Он используется для определения функций, которые не возвращают значения, для указанного пустого списка аргументов функции, как базовый тип для указателей и в операции приведения типов.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.