Переменные
Когда мы хотим создать переменную в С++, мы пишем перед ее названием — ее тип, соответственно. По сути, все мы знаем, что такое переменная, но давайте вкратце дадим определение ей.
Переменная — «ячейка» памяти компьютера, где мы можем хранить какую-либо информацию
Если совсем простыми словами, то это «коробочка», в которую мы можем поместить какую-то «вещь», в нашем случае это определенная информация: число, символ и т.д.
В С++ переменные объявляются именно таким способом —
тип_данных название_переменной;
Типы данных
В С++ все наши переменные будут иметь определенный тип данных. Например, переменная, который будет иметь тип данных int не сможет хранить ничего, кроме целых чисел, в себе. А переменные типа double или float будут хранить только числа с плавающей точкой, то есть дробные числа.
У нас имеется несколько основных простейших типов данных в С++, а именно:
int — целые числа
float — дробные числа / с плавающей точкой
double — дробные числа / с плавающей точкой с бОльшим количеством цифр после точки
char — символьный тип данных
bool — логический / Булевый тип данных
Имеются также некоторые дополнительные типы данных, например, такие как short, long / long long, но о них мы поговорим позже.
Наши данные занимают определенный размер (в байтах)
Размеры на 32-х битных машинах:
bool занимает 1 байт
char занимает 1 байт
int занимает 4 байта
float занимает 4 байта
double занимает 8 байт
Можете проверить это на своем компьютере, написав соответствующий код:
Между скобок может быть любой другой тип данных. Данный код выведет в консоль, сколько байт занимает тот или иной тип.
Разберем типы отдельно
Переменные типа 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 раза.
Это также легко вычисляется, так как мы отказываемся от отрицательных значений, мы возвращаем тот самый 1 бит. В итоге получается 2^32 - 1. Все еще на один меньше, потому что 0 никуда не девается.
Таким образом, unsigned int позволяет нам хранить числа в диапазоне от 0 до 4 294 967 295.
char записывается следующим образом:
Пишем тип, название переменной, знак присваивания и открываем одинарные кавычки. Данный тип может хранить только один символ, никак иначе.
По своей сути char — число, но это число обозначает определенный символ, который записан в определенной системе кодирования.
Такие таблицы можно найти в интернете. В С++ используется система кодирования ASCII
То есть, если мы запишем код данным образом:
Получим тот же результат, что и в выше приведенном примере.
Тип данных bool может хранить в себе только 2 значения — true или false (истина или ложь). По своей сути, true является лишь 1, а ложь 0. Что является 1 битом, но все равно занимает 1 байт, потому что у нас нет доступа к битам, мы можем управлять только байтами информации.
Пример использования bool:
Мы в следующих статьях разберем, что такое условные операторы и их применение.
Объявление и инициализация переменных
Давайте разъясним один момент. У нас есть объявление переменных и их инициализация. В чем же разница?
Когда мы задаем переменой тип и даем ей название — мы объявили переменную.
Когда мы даем этой переменной какое-то значение — мы ее инициализировали.
Объявление и инициализацию можно сделать одновременно.
Заключение
Если вы дочитали до этого момента, хочу поблагодарить вас за прочтение данной статьи. На этот раз мы разобрали примитивные типы данных, остальные мы изучим в будущем.
Я Кодикъ, это С++, спасибо!