{{fbdoc item="title" value="Standard Data Type Limits"}}----
Standard variable types and limits.

{{fbdoc item="section" value="Numeric Types"}}

~~{{table columns="7" cellpadding="1" cells=" Type ; Size in bits ; Format ; Minimum Value ; Maximum Value ; Literal Suffix ; Sig. Digits ; BYTE; 8; signed   integer;-128 ;+127;;2+;UBYTE; 8; unsigned integer;0;+255;###;2+;SHORT;16;signed   integer;-32768 ;+32767;###;4+;USHORT;16; unsigned integer;0 ;65535;###;4+;LONG;32;signed   integer;-2147483648 ;+2147483647;&, l;9+;ULONG; 32;unsigned integer;0;+4294967295;ul;9+;INTEGER;32/64 [*]; signed   integer;[*]32bit: -2147483648, 64bit: -9223372036854775808;[*]32bit: +2147483647, 64bit: +9223372036854775807;%;[*];UINTEGER;32/64 [*]; unsigned integer;0;[*]32bit: +4294967295, 64bit: +18446744073709551615;u;[*];LONGINT; 64;signed   integer;-9223372036854775808;+9223372036854775807;ll;18+; ULONGINT;64;unsigned integer;0 ;+18446744073709551615; ull ;19+;SINGLE; 32;floating point;[**]+/-1.401 298 E-45 ;[**]+/-3.402 823 E+38;!, f;6+;DOUBLE;64; floating point;[**]+/-4.940 656 458 412 465 E-324;[**]+/-1.797 693 134 862 316 E+308;#, d;15+;enums;32/64 [*]; signed integer;[*]32bit: -2147483648, 64bit: -9223372036854775808;[*]32bit: +2147483647, 64bit: +9223372036854775807;;[*]"}}

~&[*] //##[[KeyPgInteger|Integer]]## and ##[[KeyPgUinteger|UInteger]]## data types vary with platform, matching the size of pointers.//
~&[""**""] //The minimum and maximum values for the floating-point types ##[[KeyPgSingle|Single]]## and ##[[KeyPgDouble|Double]]## are, respectively, the values closest to zero and the values closest to positive and negative infinity.//

{{fbdoc item="section" value="String Types"}}

~~{{table columns="5" cellpadding="2" cells="Type ; Character Size (in bytes) ; Minimum Size (in characters) ; Maximum Size (in characters), including terminating padding ; Literal Suffix ; String ; 1 ; 0 ; [**]32bit: +2147483647, 64bit: +9223372036854775807 ; $ ; String*N ; 1 ; 1 ; [**,***]+2147483647 ; $ ; Zstring*N ; 1 ; 1 ; [**,***]+2147483647 ; [N/A] ; Wstring*N ; [*] ; [*]1 ; [*,**,***]+2147483647 ; [N/A]"}}

~&[*] //Unicode, or "wide", characters vary in both size and availability with platform.//
~&[""**""] //All runtime library string procedures take and produce ##[[KeyPgInteger|Integer]]## values for sizes and positions. The actual maximum size will vary (smaller) with storage location and/or platform.//
~&[""***""] //Before fbc version 1.20.0, fixed-length strings had the same maximum size limits as variable strings.//

{{fbdoc item="section" value="Boolean Type"}}

~~{{table columns="3" cellpadding="2" cells=" Type ; Internal size in bits ; Value; Boolean ; 1-bit wide data (in a Byte) ; 'False' or 'True' "}}

{{fbdoc item="section" value="Arrays"}}

~~{{table columns="5" cellpadding="2" cells="Platform ; Maximum Subscript Range ; Maximum Elements per Dimension ; Minimum/Maximum Dimensions ; Maximum Size (in bytes) ; 32bit ; [*][-2147483648, +2147483647] ; [*]+2147483647 ; 1/8 ; [*]+2147483647 ; 64bit ; [*][-9223372036854775808, +9223372036854775807] ; [*]+9223372036854775807 ; 1/8 ; [*]+9223372036854775807"}}

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

{{fbdoc item="section" value="UDTs"}}

~~{{table columns="2" cellpadding="2" cells="Platform ; Maximum Size (in bytes) ; 32bit ; [*]+2147483647 ; 64bit ; [*]+2147483647"}}

~&[""*""] //The actual maximum size will vary (smaller) with storage location and/or platform.//

{{fbdoc item="see"}}
	[[ProPgIdentifierRules|Usage of suffixes for variables]]
	[[ProPgLiterals|Usage of suffixes for literals / numbers]]

{{fbdoc item="back" value="DocToc|Table of Contents"}}