Найти тему
КОДИКЪ

C++ простыми словам. Примитивные типы данных

Оглавление

Переменные

Когда мы хотим создать переменную в С++, мы пишем перед ее названием — ее тип, соответственно. По сути, все мы знаем, что такое переменная, но давайте вкратце дадим определение ей.

Переменная — «ячейка» памяти компьютера, где мы можем хранить какую-либо информацию
Если совсем простыми словами, то это «коробочка», в которую мы можем поместить какую-то «вещь», в нашем случае это определенная информация: число, символ и т.д.

В С++ переменные объявляются именно таким способом —

тип_данных название_переменной;

Типы данных

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

Объявление переменных
Объявление переменных

У нас имеется несколько основных простейших типов данных в С++, а именно:
int — целые числа
float — дробные числа / с плавающей точкой
double — дробные числа / с плавающей точкой с бОльшим количеством цифр после точки
char — символьный тип данных
bool — логический / Булевый тип данных

Имеются также некоторые дополнительные типы данных, например, такие как short, long / long long, но о них мы поговорим позже.

Объявление переменных
Объявление переменных

Наши данные занимают определенный размер (в байтах)
Размеры на 32-х битных машинах:

bool занимает 1 байт
char занимает 1 байт
int занимает 4 байта
float занимает 4 байта
double занимает 8 байт

Можете проверить это на своем компьютере, написав соответствующий код:

Вывод на экран размер типа double
Вывод на экран размер типа double

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

Разберем типы отдельно

Переменные типа int могут хранить себя числа в диапазоне — (~-2 млрд., ~2 млрд.). Если быть точнее, от -2 147 483 647 до 2 147 483 647, но, можете запомнить и примерно.

Это число взято не из воздуха, это можно спокойно получить, если вспомнить школьную программу информатики про биты и байты.
Размер
int равен 32-м битам (4 байтам), но 2 147 483 647 это 2^31 - 1.
На один бит меньше, потому что нам нужно один зарезервирован для хранения 0. С отрицательными числами такого нет, это просто 2^31.
Возводим в 31-ю степень, а не 32, потому что один бит используется для хранения информации о том, является ли число отрицательным или нет.

char имеет диапазон от -128 до 127
short имеет диапазон -32768 до 32767
long имеет диапазон от -2147483648 до 2147483647
float имеет диапазон от 1.17549e-038 до 3.40282e+038
double имеет диапазон от 2.22507e-308 до 1.79769e+308

С остальными типами такой же принцип вычисления, как и с int.

Ко многим типам данных можно добавить такой можно добавить такой модификатор как unsigned. Это позволяет нам избавиться от отрицательных значений всех типов, что увеличивает диапазон хранения в положительную часть в 2 раза.

Инициализация unsigned int
Инициализация unsigned int

Это также легко вычисляется, так как мы отказываемся от отрицательных значений, мы возвращаем тот самый 1 бит. В итоге получается 2^32 - 1. Все еще на один меньше, потому что 0 никуда не девается.

Таким образом, unsigned int позволяет нам хранить числа в диапазоне от 0 до 4 294 967 295.

char записывается следующим образом:

Инициализация char
Инициализация char

Пишем тип, название переменной, знак присваивания и открываем одинарные кавычки. Данный тип может хранить только один символ, никак иначе.

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

Такие таблицы можно найти в интернете. В С++ используется система кодирования ASCII

Таблица ASCII
Таблица ASCII

То есть, если мы запишем код данным образом:

char через число
char через число

Получим тот же результат, что и в выше приведенном примере.

Тип данных bool может хранить в себе только 2 значения — true или false (истина или ложь). По своей сути, true является лишь 1, а ложь 0. Что является 1 битом, но все равно занимает 1 байт, потому что у нас нет доступа к битам, мы можем управлять только байтами информации.

Пример использования bool:

Пример использования bool с условными операторами
Пример использования bool с условными операторами

Мы в следующих статьях разберем, что такое условные операторы и их применение.

Объявление и инициализация переменных

Давайте разъясним один момент. У нас есть объявление переменных и их инициализация. В чем же разница?

Когда мы задаем переменой тип и даем ей название — мы объявили переменную.

Когда мы даем этой переменной какое-то значение — мы ее инициализировали.

Объявление и инициализацию можно сделать одновременно.

Объявление и инициализация переменных
Объявление и инициализация переменных

Заключение

Если вы дочитали до этого момента, хочу поблагодарить вас за прочтение данной статьи. На этот раз мы разобрали примитивные типы данных, остальные мы изучим в будущем.

Я Кодикъ, это С++, спасибо!