Порядковые типы данных

Среди базовых типов данных особо выделяются порядковые типы. Такое название можно обосновать двояко:

1. Каждому элементу порядкового типа может быть сопоставлен уникальный (порядковый) номер. Нумерация значений начинается с нуля. Исключение - типы данных shortint, integer и longint. Их нумерация совпадает со значениями элементов.

2. Кроме того, на элементах любого порядкового типа определен порядок (в математическом смысле этого слова), который напрямую зависит от нумерации. Таким образом, для любых двух элементов порядкового типа можно точно сказать, который из них меньше, а который - больше2).

Типы данных, относящиеся к порядковым

Опишем теперь порядковые типы данных более подробно.

1. Логический тип boolean имеет два значения: false и true, и для них выполняются следующие равенства:

2. ord(false)=0, ord(true)=1, false<true, 3. pred(true)=false, succ(false)=true,4. inc(true)=false, inc(false)=true, dec(true)=false, dec(false)=true.

5. В символьный тип char входит 256 символов расширенной таблицы ASCII (например, 'a', 'b', 'я', '7', '#'). Номер символа, возвращаемый функцией ord(), совпадает с номером этого символа в таблице ASCII.

6. Целочисленные типы данных сведем в таблицу:

Тип данных Количество Диапазон
байтов битов
shortintbyteintegerwordlongint 11224 88161632 -128..1270..255-32768..327670..65535-2147483648..2147483647 -27..27-10..28-1-215..215-10..216-1-231..231-1

7. Перечисляемые типы данных задаются в разделе type явным перечислением их элементов. Например:

8. type week =(sun,mon,tue,wed,thu,fri,sat) 0 1 2 3 4 5 6

Напомним, что для этого типа данных:

inc(sat) = sun, dec(sun) = sat.

9. Интервальные типы данных задаются только границами своего диапазона. Например:

10. type month = 1..12; budni = mon..fri;

11. Программист может создавать и собственные типы данных, являющиеся комбинацией нескольких стандартных типов. Например:

type valid_for_identifiers = 'a'..'z','A'..'Z','_','0..9';

Этот тип состоит из объединения нескольких интервалов, причем в данном случае изменен порядок латинских букв: если в стандартном типе char 'A' < 'a', то здесь, наоборот, 'a' < 'A'. Для величин этого типа выполняются следующие равенства:

inc('z')='A'; dec('0')='_', pred('a')='9'; ord('b')= 2.

Вещественные типы данных

Напомним, что эти типы данных являются арифметическими, но не порядковыми.

Тип Количество байтов Диапазон (абсолютной величины)
singlerealdoubleextendedcomp 468108 1.5*10-45..3.4*10382.9*10-39..1.7*10385.0*10-324..1.7*103083.4*10-4932..1.1*104932-263+1..263-1

Операции и выражения


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: