Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Vinogradova.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
628 Кб
Скачать
☆

Целый тип (int)

Переменные этого типа принимают только целые значения.

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под величины этого типа отводится 2 байта, для 32-разрядного - 4 байта.

Спецификатор short перед именем типа указывает компилятору, что под число требуется отвести 2 байта независимо от разрядности процессора. Спецификатор long означает, что целая величина будет занимать 4 байта. Таким образом, на 16-разрядном компьютере эквивалентны int и short int, а на 32-разрядном - int и long int.

По умолчанию все целочисленные типы считаются знаковыми. Типы short int, long int, signed int и unsigned int можно сокращать до short, long, signed и unsigned соответственно.

Символьный тип (char)

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

Тип char, как и другие целые типы, может быть со знаком или без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. При использовании спецификатора unsigned значения могут находиться в пределах от 0 до 255. Этого достаточно для хранения любого символа из 256-символьного набора ASCII. Величины типа char применяются также для хранения целых чисел, не превышающих границы указанных диапазонов.

Расширенный символьный тип (wchar_t)

Тип wchar_t предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например, Unicode. Размер этого типа зависит от реализации; как правило, он соответствует типу short. Строковые константы типа wchar_t записываются с префиксом l, например, l"Gates".

Логический тип (bool)

Величины логического типа могут принимать только значения true и false. яв­ляющиеся зарезервированными словами. Внутренняя форма представления значения false - 0 (нуль). Любое другое значение интерпретируется как true. При преобразовании к целому типу true имеет значение 1.

Типы с плавающей точкой (float, double и long double)

Стандарт С++ определяет три типа данных для хранения вещественных значений: float, double и long double.

Типы данных с плавающей точкой хранятся в памяти компьютера иначе, чем це­лочисленные. Внутреннее представление вещественного числа состоит из двух частей - мантиссы и порядка. В IBM PC-совместимых компьютерах величины типа float занимают 4 байта, из которых один двоичный разряд отводится под знак мантиссы, 8 разрядов под порядок и 23 под мантиссу. Мантисса - это число, большее 1.0, но меньшее 2.0. Поскольку старшая цифра мантиссы всегда равна 1, она не хранится.

Для величин типа double, занимающих 8 байт, под порядок и мантиссу отводится 11 и 52 разряда соответственно. Длина мантиссы определяет точность числа, а длина порядка - его диапазон. Спецификатор long перед именем типа double указывает, что под величину отводится 10 байтов. Константы с плавающей точкой имеют по умолчанию тип double.

Таблица 1. Диапазоны значений простых типов данных для IBM PC

Тип

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

Размер (байт)

bool

true и false

1

signed char

-128... 127

1

unsigned char

0 ... 255

1

signed short int

-32 768 ... 32 767

2

unsigned short int

0 ... 65 535

2

signed long int

-2 147 483 648 ... 2 147 483 647

4

unsigned long int

0 ... 4 294 967 295

4

Float

3.4е-38 ... 3.4е+38

4

Double

1.7е-308 ... 1.7е+308

8

long double

3.4е-4932 ... 3.4е+4932

10

Для написания переносимых на различные платформы программ нельзя делать предположений о размере типа int. Для его получения необходимо пользоваться операцией sizeof, результатом которой является размер типа в байтах.

От выбора типа зависит скорость вычислений и объем памяти.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]