Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_OAiPR.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.23 Mб
Скачать

150.Типы данных языка программирования

В C++ нет жёсткого стандарта на диапазоны значений арифметических типов (в стандарте языка оговариваются лишь минимально допустимые значения). В принципе, эти диапазоны определяются конкретной реализацией. Обычно выбор этих характеристик диктуется эффективностью использования вычислительных возможностей компьютера. Зависимость языка от реализации создаёт определённые проблемы переносимости. C++ остаётся машинно-зависимым языком.

К целочисленным типам относятся типы, представленные следующими именами основных типов:

char

short

int

long

Имена целочисленных типов могут использоваться в сочетании с парой модификаторов типа:

signed

unsigned

Эти модификаторы изменяют формат представления данных, но не влияют на размеры выделяемых областей памяти.

Модификатор типа signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным.

Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.

В ряде случаев модификаторы типа можно рассматривать как имена основных типов.

Здесь также многое определяется конкретной реализацией. В версиях Borland C++ данные типов, обозначаемых как signed, short и int в памяти занимают одно и то же количество байтов.

Особое место среди множества основных целочисленных типов занимают перечисления, которые обозначаются ключевым словом enum. Перечисления представляют собой упорядоченные наборы целых значений. Они имеют своеобразный синтаксис и достаточно специфическую область использования. Их изучению будет посвящён специальный раздел.

Здесь также многое зависит от реализации. По крайней мере, для Borland C++ 4.5, основные характеристики целочисленных типов выглядят следующим образом:

Тип данных

Байты

Биты

Min

Max

signed char

1

8

- 128

127

unsigned char

1

8

0

255

signed short

2

16

-32768

32767

enum

2

16

-32768

32767

unsigned short

2

16

0

65535

signed int

2

16

-32768

32767

unsigned int

2

16

0

65535

signed long

4

32

-2147483648

2147483647

unsigned long

4

32

0

4294967295

К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний:

float

double

long double

Как и ранее, модификатор типа входит в число имён основных типов.

Плавающие типы используются для работы с вещественными числами, которые представляются в форме записи с десятичной точкой, так и в "научной нотации". Разница между нотациями становится очевидной из простого примера, который демонстрирует запись одного и того же вещественного числа в различных нотациях.

297.7

2.977*10**2

2.977E2

и ещё один пример…

0.002355

2.355*10**-3

2.355E-3

В научной нотации слева от символа E записывается мантисса, справа - значение экспоненты, которая всегда равняется показателю степени 10.

Для хранения значений плавающих типов в памяти используется специальный формат представления вещественных чисел. Этот формат называется IEEE форматом.

Ниже представлены основные характеристики типов данных с плавающей точкой (опять же для Borland C++ 4.5):

Тип данных

Байты

Биты

Min

Max

float

4

32

3.4E-38

3.4E+38

double

8

64

1.7E-308

1.7E+308

long double

10

80

3.4E-4932

3.4E+4932

Подведём итог.

Имена типов данных и их сочетания с модификаторами типов используются для представления данных различных размеров в знаковом и беззнаковом представлении:

char

signed char

unsigned char

short

signed short

unsigned short

signed

unsigned

short int

signed short int

unsigned short int

int

signed int

unsigned int

long

signed long

unsigned long

long int

signed long int

unsigned long int

Все эти типы образуют множество целочисленных типов. К этому множеству также относятся перечисления.

А вот сочетания имён типов и модификаторов для представления чисел с плавающей точкой:

float

double

long double

Вот и всё об основных типах. Помимо основных типов в C++ существуют специальные языковые средства, которые позволяют из элементов основных типов создавать новые, так называемые производные типы

151.

152.

153.

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