Простые типы данных
Целые типы
Название | Длина в байтах | Диапазон |
Byte | 0, 255 | |
ShortInt | ‑128, 127 | |
Word | 0, 65535 | |
SmallInt | ‑32768, 32767 | |
Longword | 0, 4294967295 | |
Cardinal | 0, 4294967295 (максимальная скорость) | |
Integer | ‑2147483648, 2147483647 (максимальная скорость) | |
LongInt | ‑2147483648, 2147483647 | |
Int64 | ‑(2 в степени 63), (2 в степени 63) -118 значное число |
Вещественные типы
Название | Длина в байтах | Значащие цифры | Диапазон десятичного порядка |
Single | 7‑8 | ‑45,38 | |
Real48 | 11‑12 | ‑39,38 (минимальная скорость) | |
Real | 15‑16 | ‑342, 308 (максимальная скорость) | |
Double | 15‑16 | ‑342, 308 (максимальная точность) | |
Currency | 19‑20 | ‑/+922337203685477.5807 (деньги) | |
Comp | 19‑20 | Аналогичен Int64, лучше использовать Int64 | |
Extended | 19‑20 | ‑4951, 4932 |
Логические типы
Название | Длина в байтах | Значения |
Boolean | False, True (основной тип) | |
ByteBool | False, True | |
WordBool | False, True | |
LongBool | False, True |
Отличия в этих типах поясним на примерах:
Boolean: False<True, Ord(True)=1. Другие типы: False<>True, Ord(True)<>0.
Символьные типы
Название | Длина в байтах | Значения |
ANSIChar | Один 8‑битовый символ ANSI | |
WideChar | Один 16‑битовый символ Unicode | |
Char | Эквивалентен ANSIChar, но в будущем это может быть изменено (основной тип) |
Unicode является современной международной унифицированной системой кодирования символов. Символ в системе кодирования Unicode занимает в памяти одно слово из двух байтов и имеет 65536 различных значений, которые закреплены специальной международной комиссией по Uncode за кодами символов всех языков мира, что решает проблему одновременного использования в программах, в документах и в файлах различных национальных языков мира.
1.1.3.5. Тип дата ‑ время (TDateTime)
Тип подобен типу Currency; в целой части хранится дата, в дробной части - время. Разность дат дает число дней между датами, при сложении или вычитании числа из даты получается новая дата.
Пример:
Var A: String; T: TdateTime; //объявление переменной T типа дата ‑ время
A:=DateTimeToStr(Date+10); T:=Time+StrToDateTime(‘2:45’)
Перечисляемые типы
Перечисляемый тип задается перечислением тех значений, которые он может получить.
Type <имя типа>=(<значение1>,[<значение2>]...)
Каждому значению соответствует порядковый номер этого значения в списке значений (отчет начинается с нуля).
Пример.Перечисляемый тип с сокращенными названиями месяцев.
Type TypeMonth=(jan,feb,mar,apr,may,jun,jul,aug,sep, oct, nov, dec);
Var Month: TypeMonth; ....
If Month=aug Then Label1.Capion:= ‘Хорошо бы поехать к морю!’
Переменную перечисляемого типа можно определить сразу в разделе переменных, без предварительного описания перечисляемого типа (Var TypeMonth: (jan,feb,mar,apr,may,jun,jul,aug, sep, oct, nov, dec).
Интервальные типы
Type <имя типа>=< мин. значение>..<макс. значение>;
Пример. type dni=1..31; var rd, vd: dni;
Переменную интервального типа можно определить сразу в разделе переменных без предварительного описания интервального типа:
var dni: 1..31; god: 1900..2000
Порядковые типы
Порядковыми типами называют целые, логические, символьные, перечисляемые, интервальные типы.
Для порядковых типов имеются функции:
Ord(i) ‑ порядковый номер аргумента (запрещен аргумент типа Int64).
Pred(i)/Succ(i) ‑ предшествующее/следующее значение для аргумента.
High(i)/Low(i) ‑ максимальное/ минимальное значение аргумента.
Inc(i)/Dec(i ‑ увеличение/уменьшение i на единицу (инкремент/декремент).
Пример.Две группы по три эквивалентных оператора:
Inc(i); i:=Succ(i); i:=i+1; Dec(i); i:=Pred(i); i:=i‑1;
Дата добавления: 2016-03-22; просмотров: 649;