Стандартные типы данных и ограничения.
Числовые типы
Тип | Размер в битах | Формат | Минимальное значение |
Максимальное значение | Суффикс | Sig. Digits |
BYTE | 8 |
Целое число со знаком | -128 | +127 | | 2+ |
UBYTE | 8 |
Целое число без знака | 0 | +255 | | 2+ |
SHORT | 16 |
Целое число со знаком | -32768 | +32767 | | 4+ |
USHORT | 16 |
Целое число без знака | 0 | 65535 | | 4+ |
LONG | 32 |
Целое число со знаком | -2147483648 | +2147483647 | %, l | 9+ |
ULONG | 32 |
Целое число без знака | 0 | 4294967295 | ul | 9+ |
INTEGER | 32/64 [*] |
Целое число со знаком | [*] | [*] | & | [*] |
UINTEGER | 32/64 [*] |
Целое число без знака | [*] | [*] | | [*] |
LONGINT | 64 |
Целое число со знаком | -9 223 372 036 854 775 808 | +9 223 372 036 854 775 807 | ll | 18+ |
ULONGINT | 64 |
Целое число без знака | 0 | +18 446 744 073 709 551 615 | ull | 19+ |
SINGLE | 32 |
С плавающей точкой | [**]+/-1.401 298 E-45 | [**]+/-3.402 823 E+38 | !, f | 6+ |
DOUBLE | 64 |
С плавающей точкой | [**]+/-4.940 656 458 412 465 E-324 | [**]+/-1.797 693 134 862 316 E+308 | # | 15+ |
[*]
Integer и UInteger
типы данных зависят от платформы, соответствуя размеру указателей.
[**]
Минимальные и максимальные значения для типов с плавающей запятой Single
и Double , соответственно, значения
близкие к нулю и значения близкие к положительной и отрицательной
бесконечности.
Строковые типы
Тип | Размер символа (в байтах) | Минимальный размер (в
символах) | Максимальный размер (в
символах) | Суффикс |
String | 1 | 0 | [**]+2147483647 | $ |
Zstring | 1 | 0 | [**]+2147483647 | [нет] |
Wstring | [*] | [*]0 | [*,**]+2147483647 | [нет] |
[*]
Unicode, или "расширенные", символы различаются по размеру и по
доступности в зависимости от платформы.
[**]
Все строковые процедуры runtime библиотеки получают и производят Integer
значения для размеров и позиций. Максимальный размер может быть меньше в
зависимости от платформы.
Массивы
Максимальные пределы диапазона |
Максимум элементов в размерности |
Минимальная/Максимальная размерность |
Максимальный размер (в байтах) |
[*][-2147483648, +2147483647] | [*]+2147483647 | 1/9 | [*]+2147483647 |
[*]
Все процедуры для массивов runtime библиотеки принимают и
производят Integer значения
для пределов диапазона и индексов. Фактические пределы, размеры и число
измерений может быть меньше в зависимости платформы..
См. также