Тип. Классификация типов
Типы данных
Тип определяет множество значений, которые могут принимать объекты программы (константы и переменные), а также совокупность операций, допустимых над этими значениями.
Например, значения 1 и 3 относятся к целочисленному типу, и над ними можно выполнять любые арифметические операции. Значения ‘отличная’ и ’учеба’ принадлежат к строковому типу и над ними можно выполнять только одну операцию – склеивания, сцепления, или конкатенации текста (обозначается через +). Все типы данных, используемые в Turbo Pascal, можно разделить на две большие группы: скалярные (простые) и структурированные (составные). Скалярные типы в свою очередь подразделяются на стандартные и пользовательские (перечисляемый и интервальный). Стандартные типы предлагаются программисту разработчиками Turbo Pascal. К ним относятся: целочисленные, вещественные, символьный (литерный), логический (булевский) и указатели. Структурированные типы имеют в своей основе скалярные типы данных. К структурированным относятся: строки, массивы, множества, записи и файлы.
Целочисленные типы, символьный, логический и пользовательские типы данных (перечисляемый и интервальный) образуют группу так называемых порядковых типов, имеющих большое значение.
Тип данных очень важен при выделении памяти под переменные, поскольку каждому типу соответствует строго определенный размер ячейки памяти. В любом случае этот размер ограничен, следовательно, все типы данных имеют ограниченный диапазон значений (см. таб.1-3). Этот факт не согласуется с нашими математическими представлениями о числовых множествах. Тем не менее, с ним приходится считаться.
Целые и вещественные типы предназначены для представления числовых данных. В математике рассматривается бесконечное множество целых чисел. Целый тип в языке Turbo Pascal –это интервал целых чисел (таб. 1). Операции над целыми числами (см. таб. 2.)определены лишь тогда, когда исходные данные (операнды) и результат лежат в этом интервале. Иначе возникает ситуация, называемая переполнением. За исключением переполнения все операции над аргументами целого типа выполняются точно.
Таблица 1. Целочисленные типы данных.
Название целого типа | Диапазон возможных значений | Память, байт |
Byte (байтовый) shortint (короткий целый) integer (целый) word (слово) logint (длинный целый) | 0-255 -128-127 -32 768-32 767 0-65 535 -2 147 483 648-2 147 483 647 |
В математике вещественные числа – это бесконечное непрерывное множество чисел. В вычислительных машинах вещественные числа представляются конечным множеством значений (таб.2)
Например, внутреннее представление типа real может дать=281474976710656 (более чем ) возможных комбинаций значащих разрядов в отдельных для него 6 байтах, или 48 битах. Это очень большое число, но все же оно не сопоставимо с множеством вещественных чисел.
Таблица 2. Вещественные типы данных
Название вещественного типа | Диапазон возможных значений (плюс-минус) | Кол-во значащих цифр | Память, байт |
Single (с одинарной точностью) Real (вещественный) Double (0с двоичной точностью Extended (с повышенной точностью) Comp (сложный)- | 1,5е-45-3,4е38 2,9е-39-1,7е38 5,0-324-1,7е308 3,4е-4932-1,1е4932 -2е63+1-2е63-1 | 7-8 11-12 15-16 19-20 19-20 |
Логический (булевский) тип имеет всего два значения: true (да –истина,1) и false (нет -ложь, 0), причем данные значения упорядочены, т.е. в операциях сравнения true>false (табл.3)
Символьный (литерный) и строковый типы представляют данные, являющиеся символами и их последовательностями – строками (таб.3). В памяти компьютера символы хранятся в виде их числовых кодов. Числовые коды преобразуются в буквы и другие символы лишь в момент их вывода на экран или принтер. Соответствие между символом и его кодом задается при помощи кодовой таблицы, которая находится в памяти компьютера и используется при выводе символов.
Таблица3. Символьный и логический (булевский) типы данных
тип | Диапазон возможных значений | Память, байт |
Char (символьный, литерный) Boolean (булевский) | Символы кодовой таблицы true, false |
Переменные, описываемые любым из типов byte, shortint, integer, word, longint, принимают только целые значения. Типы byte, word – беззнаковые.
Переменные, описываемые любым из типов single, real, double, extended, comp принимают только вещественные значения – положительные и отрицательные.
Наиболее часто в простейших программах используются типы integer и real.
Тип comp, являясь вещественным (приблизительно от -9,2*до 9,2*), фактически представляет «большое» целое число со знаком, сохраняющее 19-20 значащих десятичных цифр. В то же время в выражениях он полностью совместим с любым другим вещественным типом. Наиболее подходящая область для него применения – это бухгалтерские расчеты.
Данные целых типов могут быть представлены как в десятичной, так и в шестнадцатеричной системах счисления.