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

Переменная – ячейка памяти. Назначение типа определяет размер этой ячейки, какие операции можно выполнять с данной переменной, допустимые значения, которые может принимать переменная.

Классификация типов данных:

  • Простые (скалярные) – целые, вещественные, логические (булевские).
  • Структурированные – массивы, структуры, объединения, классы.
  • Адресные – указатели, ссылки.

Простые типы данных

Целый тип

  • char – целый символьный тип;

  • short int – короткий целый тип;

  • int – целый тип;

  • long int – длинный целый тип.

Каждый из целочисленных типов может быть определён как знаковый (signed) или беззнаковый (unsigned) тип. При отсутствие ключевого слова, по умолчанию принимается знаковый тип.

Вещественный тип

  • float – вещественный тип одинарной точности;

  • doudle – вещественный тип двойной точности;

  • long double – вещественный тип расширенной точности;

Логический тип

  • bool – логический тип данных, принимает значение «истина» (true или 1),    
            или  «ложь» (false или 0).

Тип данных

Размер, байт

Диапазон значений

char

1

-128… +128

int

2/4

зависит от системы

unsigned char

1

0… 255

unsigned int

2/4

зависит от системы

short int

2

-32768… 32767

unsigned short

2

0… 65535

long int

4

-2147483648… 2147483648

unsigned long int

4

0… 4294967295

float

4

±(3.4Е-38… 3.4Е+38)

double

8

±(1.7Е-308… 1.7Е+308)

long double

10

±(3.4Е-4932… 1.1Е+4932)

Анализируя данные таблицы, можно сделать следующие выводы:

  • если не указан базовый тип, то по умолчанию подразумевается int;

  • если не указан модификатор знаков, то по умолчанию подразумевается
         signed;

  • с базовым типом  float  модификаторы не употребляются;

  • модификатор short применим только к базовому типу  int.

Привидение типов (явное и неявное)

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

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

int a=5; int b=2; float t;

t=a/b   (при этом t будет равняться 2)

t= (float)a/b   (при этом t будет ровняться 2,5).
На момент вычисления изменили тип переменной а – это и есть явное приведение типов. Приведённый тип указывается в круглых скобках перед переменной.

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

int a=5; float b=2; float t;

t=a/b   (результат = 2,5)

При неявном преобразование типов выполняется правило переводов низших типов в высшие для точности представления данных и их непротиворечивости (низший тип – char, высший - long double; см.таблицу).

Среда, 08.05.2024, 09:14
Приветствую Вас Гость