мета-данные страницы
Типы данных
Классификация типов данных
Типы, используемые в программе, написанной на в Паскале, делятся на стандартные и пользовательские. Первые «известны Паскалю» изначально. Они являются частью языка. Поэтому их иногда называют предопредедёнными.
Вторые, пользовательские типы, описаны (определены) в программе, либо в одном из подключённых модулей, даже если этот модуль входит в состав системной библиотеки. Фактически, они являются расширением языка.
С другой стороны, в Паскале, как и во многих других языках программирования, выделяют простые и составные типы данных.
Простые типы данных иначе называют скалярными. Данные таких типов не могут быть разбиты на части. К ним традиционно относятся группы порядковых, действительных и, несколько условно, – укозательных типов. Обратите внимание, что для действительного типа мы можем вычислить целую и дробную части, а целого типа определить знак, но мы их именно вычисляем, а не «берём готовенькими».
Составные типы данных
Порядковые типы
Целочисленные типы
| Тип | Размер | Диапазон значений |
|---|---|---|
| Byte | 1 | 0 .. 255 |
| Shortint | 1 | -128 .. 127 |
| Smallint | 2 | -32 768 .. 32 767 |
| Word | 2 | 0 .. 65 535 |
| Integer | 2 или 4 | как у smallint или longint |
| Cardinal | 4 | Longword |
| Longint | 4 | -2 147 483 648 .. 2 147 483 647 |
| Longword | 4 | 0 .. 4 294 967 295 |
| Int64 | 8 | -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 |
| QWord | 8 | 0 .. 18 446 744 073 709 551 615 |
Типы Cardinal, Longword, Smallint, Int64, QWord используются во Free Pascal, но в Borland (Turbo) Pascal не используются. Могут отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.
Целочисленные типы делятся по размеру занимаемой памяти, а также - по возможности или невозможности сохранять отрицательные значения. Первые называются знаковыми, вторые - беззнаковыми.
Логический ( boolean - булевский) тип
| Тип | Размер | Диапазон значений |
|---|---|---|
| Boolean | 1 | False или True |
По техническим причинам могут существовать другие логические типы, отличающиеся своим размером от стандартного boolean, но нас они не интересуют.
Символьный тип (Char)
Стандартный для языка Pascal символьный тип имеет 256 значений. Переменные этого типа занимают один байт.
| Тип | Размер | Диапазон значений |
|---|---|---|
| Char | 1 | #0 .. #255 (Множество выводимых символов и соответствующие им номера зависят от кодировки) |
Вещественные типы (типы с плавающей запятой)
Эти типы используются для работы с дробными или с очень большими значениями. Обратите внимание, значения этих типов всегда рассматриваются как приближённые значения.
| Тип | Размер | Диапазон значений | «Точных» знаков, после запятой |
|---|---|---|---|
| Real | 4 или 8 | Зависит от платформы | ??? |
| Single | 4 | 1.5e-45 .. 3.4e38 | 7-8 |
| Double | 8 | 5.0e-324 .. 1.7e308 | 15-16 |
| Extended | 10 | 1.9e-4932 .. 1.1e4932 | 19-20 |
| Comp | 8 | -2e64+1 .. 2e63-1 | 19-20 |
| Currency | 8 | -922 337 203 685 477.5808 .. 922 337 203 685 477.5807 | 4 |
Тип Currency используются во Free Pascal, но в Borland (Turbo) Pascal не используется. Может отсутствовать и в других версиях языка Pascal, таких, как Pascal ABC.
Тип Comp предназначен для хранения больших целых чисел со знаком, но использовать переменные данного типа вместо integer, например - в качестве счётчика в цикле for, нельзя. Он относится к группе real-подобных типов.