Standard Data Type Limits
 
Standard variable types and limits.

Numeric Types

Type Size in bits Format Minimum Value Maximum Value Literal Suffix Sig. Digits
BYTE 8 signed integer-128 +1272+
UBYTE 8 unsigned integer0+255 2+
SHORT16signed integer-32768 +32767 4+
USHORT16 unsigned integer0 65535 4+
LONG32signed integer-2147483648 +2147483647&, l9+
ULONG 32unsigned integer 04294967295ul9+
INTEGER32/64 [*] signed integer [*] [*]%[*]
UINTEGER32/64 [*] unsigned integer [*][*]u[*]
LONGINT 64 signed integer -9 223 372 036 854 775 808 +9 223 372 036 854 775 807 ll18+
ULONGINT 64 unsigned integer 0 +18 446 744 073 709 551 615 ull 19+
SINGLE 32floating point[**]+/-1.401 298 E-45 [**]+/-3.402 823 E+38!, f6+
DOUBLE64 floating point[**]+/-4.940 656 458 412 465 E-324[**]+/-1.797 693 134 862 316 E+308#, d15+


[*] Integer and UInteger data types vary with platform, matching the size of pointers.
[**] The minimum and maximum values for the floating-point types Single and Double are, respectively, the values closest to zero and the values closest to positive and negative infinity.

String Types

Type Character Size (in bytes) Minimum Size (in characters) Maximum Size (in characters) Literal Suffix
String 1 0 [**]+2147483647 $
Zstring 1 0 [**]+2147483647 [N/A]
Wstring [*] [*]0 [*,**]+2147483647 [N/A]


[*] Unicode, or "wide", characters vary in both size and availability with platform.
[**] All runtime library string procedures take and produce Integer values for sizes and positions. The actual maximum size will vary (smaller) with storage location and/or platform.

Arrays

Maximum Subscript Range Maximum Elements per Dimension Minimum/Maximum Dimensions Maximum Size (in bytes)
[*][-2147483648, +2147483647] [*]+2147483647 1/9 [*]+2147483647


[*] All runtime library array procedures take and produce Integer values for subscripts and indexes. The actual limits will vary (smaller) with the number of dimensions, element size, storage location and/or platform.

See also

ProPgIdentifierRules usage of suffixes for variables
ProPgLiterals usage of suffixes for literals / numbers