Язык С++ определяет набор базовых арифметических типов, которые представляют собой целые числа, числа с плавающей запятой, логические значения и символы. Размер этих типов зависит от конкретного компьютера.
Напишем простую программу, использующую унарный оператор sizeof(), возвращающий длину в байтах переменной или типа, помещенных в скобки.
#include <iostream>
int main()
{
setlocale(LC_ALL, "Russian");
std::cout << "Целое число int имеет размер: " << sizeof(int) << '\n'
<< "Целое число short имеет размер: " << sizeof(short) << '\n'
<< "Длинное целое число long имеет размер: " << sizeof(long) << '\n'
<< "Символ char имеет размер: " << sizeof(char) << '\n'
<< "Число с плавающей запятой одинарной точности float имеет размер: " << sizeof(float) << '\n'
<< "Число с плавающей запятой двойной точности double имеет размер: " << sizeof(double) << std::endl;
return 0;
}
\n является символом новой строки. Результат программы с использованием компилятора С++ Shell.
Целое число int имеет размер: 4
Целое число short имеет размер: 2
Длинное целое число long имеет размер: 8
Символ char имеет размер: 1
Число с плавающей запятой одинарной точности float имеет размер: 4
Число с плавающей запятой двойной точности double имеет размер: 8
Тип bool представляет собой логический тип данных и может принимать только одно из двух значений: true (истина) и false (ложь).
За исключением типа bool целочисленные типы могут иметь знаковое (signed) и беззнаковое (unsigned) представление. Знаковый тип может принимать отрицательные и положительные числа (включая нуль), а беззнаковый - только положительные числа (включая нуль). Т.е. если вы точно знаете, что значение переменной не может быть отрицательным, используйте беззнаковый тип. Запись такого типа имеет вид unsigned int, unsigned long и т.д.