В данном разделе будут рассмотрены основные типы данных в С++, эти типы данных ещё называются встроенными. Язык программирования С++ является расширяемым языком программирования. Понятие расширяемый означает то, что кроме встроенных типов данных, можно создавать свои типы данных. Поэтому в С++ существует огромное количество типов данных.

 

 

 Типы данных С++
Тип байт Диапазон принимаемых значений

целочисленный (логический) тип данных

bool 1 0   /   255

целочисленный (символьный) тип данных

char 1 0   /   255

 целочисленные типы данных

short int 2 -32 768    /    32 767
unsigned short int 2 0  /  65 535
int 4 -2 147 483 648   /   2 147 483 647
unsigned int 4 0     /     4 294 967 295
long int 4 -2 147 483 648    /    2 147 483 647
unsigned long int 4 0     /     4 294 967 295

типы данных с плавающей точкой

float 4 -2 147 483 648.0  / 2 147 483 647.0
long float 8 -9 223 372 036 854 775 808 .0   /   9 223 372 036 854 775 807.0
double 8 -9 223 372 036 854 775 808 .0   /   9 223 372 036 854 775 807.0

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

 

 

В C++ различают явное и неявное преобразование типов данных. Неявное преобразование типов данных выполняет компилятор С++, ну а явное преобразование данных выполняет сам программист. О преобразовании типов данных скажу следующее: «Результат любого вычисления будет преобразовываться к наиболее точному типу данных, из тех типов данных, которые участвуют в вычислении». Для наглядного примера представлю таблицу с преобразованиями типов данных. В таблице рассмотрим операцию деления. В качестве целочисленного типа данных возьмем int, ну и вещественный тип данных у нас будет float.

Таблица 1 — Явное и неявное преобразование типов данных в С++
x y Результат деления Пример
делимое делитель частное x = 15 y = 2
int int int 15/2=7
int float float 15/2=7.5
float int float 15/2=7.5

Из таблицы видно, что меняя переменные различных типов данных местами, результат остается тот же (в нашем случае это делимое и делитель). О неявном преобразовании типов данных все. Что же касается явного преобразования, то оно необходимо для того чтобы выполнять некоторые манипуляции, тем самым меняя результат вычисления. Самый простой способ явного преобразования типов данных, пример: допустим нам необходимо разделить такие числа 15 и 2, делим! 15/2=7. Результат тот же, что и в таблице. Но если сделать незначительные преобразования, например: 15.0/2=7.5 при таком делении число 15 является вещественным, значит и результат будет вещественный. Само число 15 с точки зрения математики не изменилось, ведь 15=15.0. Этот же прием можно было применить к двойке, результат был бы тем же, а можно было сразу к двум числам, но зачем ,если хватает одного из двух.

Еще один способ явного преобразования типов данных:

1
2
float(15) / 2    // результат равен 7.5, число 15 преобразуется в вещественный тип данных float.
double(15) / 2 // результат равен 7.5 – тоже самое!!!

В С++ также предусмотрена унарная операция приведения типа:

1
static_cast</*тип данных*/>(/*переменная или число*/)

пример: static_cast<float>(15)/2 результат равен 7.5
Пример с переменной:

1
2
int ret=15;
static_cast<float>(ret)/2 //результат равен 7.5