Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы и структуры данных.doc
Скачиваний:
172
Добавлен:
11.03.2015
Размер:
2.05 Mб
Скачать

Сложный тип

Comp

Формат:

Значение v = NaN, если s = 1 и d = 0, иначе v представляет собой 64-битовое значение, являющееся дополнением до двух.

Простые типы данных в с Целые типы

Диапазон возможных значений целых типов зависит от их внутреннего представления. В таблице 5 приводится название основных целых типов, длина их внутреннего представления в байтах и диапазон возможных значений.

Таблица 5

Целые типы языка c

Имя типа

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

Размер, байт

Char

0...255

1

Int

–32768...32767

2 (или 4)

В языке C/C++ существует возможность использовать модификаторы short и long. Целью этих модификаторов было разграничить длины двух типов целых чисел для практических потребностей.

Модификаторы signed (знаковый) и unsigned (без знака) применимы к любым целым типам.

Диапазоны значений целых типов языка С приведены в таблице 6:

Таблица 6

Диапазоны значений целых типов языка c

Имя типа

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

Размер, байт

Long int

–2147483648...2147483647

4

Signed char

–128...127

1

Unsigned char

0...255

1

Short int

–32768...32767

2

Unsigned int

0...65535

2

Unsigned long int

0...4294967295

4

Unsigned short int

0...65535

2

Используя модификаторы short, long, unsigned со спецификатором int, спецификатор int может быть опущен, тогда модификаторы рассматриваются как спецификаторы:

Unsigned int = unsigned

Long int = long

Short int = short

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

Диапазоном возможных значений этого типа является множество всех символов. Каждому символу приписывается целое число от 0..255. Для кодировки используют код ASCII. Символьный тип занимает в памяти один байт.

Перечисляемый тип

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

Typedef enum {red, yellow, green}colors;

Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе — 1 и т.д.

Вещественные типы

Значения этих типов определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа. В таблице 7 приводятся названия вещественных типов, диапазон возможных значений и длина внутреннего представления.

Таблица 7

Вещественные типы языка c

Имя типа

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

Размер, байт

Float

1.1754943E–38...1.175494E+38

4

Double

2.22507E–308... 2.225E+308

8

Long double

(в некоторых реализациях языка СИ отсутствует)

3.4Е–4932…3.4Е+4932

10

Внутримашинное представление вещественных типов:

Float

Формат:

Формула для вычисления значения, хранящегося в памяти:

v = (–1)s2e-1271.m, если 0 < e < 255

v = (–1)s21260.m, если e = 0 и m  0

v = (–1)s, если e = 0 и m = 0

v = (–1)sInf, если e = 255 и m = 0

v = NaN, если e = 255 и m  0

Точность 6 — 7 знаков.

Double

Формат:

Формула для вычисления значения, хранящегося в памяти:

v = (–1)s2e-10231.m, если 0 < e < 2047

v = (–1)s210220.m, если e = 0 и m  0

v = (–1)s, если e = 0 и m = 0

v=(–1)sInf, если e = 2047 и m = 0

v = NaN, если e = 2047 и m  0

Точность 15-16 знаков.