Ограничения стандартных типов данных
 
Стандартные типы данных и ограничения.

Числовые типы

Тип Размер в битах Формат Минимальное значение Максимальное значение Суффикс Sig. Digits
BYTE 8 Целое число со знаком-128 +1272+
UBYTE 8 Целое число без знака0+255 2+
SHORT16 Целое число со знаком-32768 +32767 4+
USHORT16 Целое число без знака0 65535 4+
LONG32 Целое число со знаком-2147483648 +2147483647%, l9+
ULONG 32 Целое число без знака 04294967295ul9+
INTEGER32/64 [*] Целое число со знаком [*] [*]&[*]
UINTEGER32/64 [*] Целое число без знака [*][*] [*]
LONGINT 64 Целое число со знаком -9 223 372 036 854 775 808 +9 223 372 036 854 775 807 ll18+
ULONGINT 64 Целое число без знака 0 +18 446 744 073 709 551 615 ull 19+
SINGLE 32 С плавающей точкой[**]+/-1.401 298 E-45 [**]+/-3.402 823 E+38!, f6+
DOUBLE64 С плавающей точкой[**]+/-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 значения для пределов диапазона и индексов. Фактические пределы, размеры и число измерений может быть меньше в зависимости платформы..

См. также

ProPgIdentifierRules - использование суффиксов для переменных
ProPgLiterals - использование суффиксов для литералов/чисел