A number of data types are built in, including signed and unsigned integers, single and double precision floating point numbers, single and double precision floating point complex numbers, and strings. Additional user-defined types can be defined in programs. These composite types are fixed-size collections of built-in and other user-defined types.
The type suffix, type name, and format of the built-in data types are given in the following table:
|@||SBYTE||Signed byte (8-bits)|
|@@||UBYTE||Unsigned byte (8-bits)|
|%||SSHORT||Signed short (16-bits)|
|%%||USHORT||Unsigned short (16-bits)|
|&||SLONG||Signed long (32-bits)|
|&&||ULONG||Unsigned long (32-bits)|
|XLONG||Natural long (32/64-bits)|
|GOADDR||GOTO address (32/64-bits)|
|SUBADDR||GOSUB address (32/64-bits)|
|FUNCADDR||FUNCTION address (32/64-bits)|
|$$||GIANT||Signed giant (64-bits)|
|!||SINGLE||IEEE Single Precision Floating Point (32-bits)|
|#||DOUBLE||IEEE Double Precision Floating Point (64-bits)|
|$||STRING||String of unsigned bytes (characters)|
|SCOMPLEX||Single Precision Complex (Two SINGLEs)|
|DCOMPLEX||Double Precision Complex (Two DOUBLEs)|
Type suffixes make the data types of variables instantly visible, but are not required. They can be appended to variables and arrays to specify data type when type visibility is important.
Integer and floating point types are called simple types, because they contain a single element, a number.
Strings are sequences of unsigned bytes normally used to hold characters. Strings are very common in most programs, so special capabilities make string programming faster and more convenient.
Composite types are collections of simple types, composite types, fixed-size strings, and fixed-size one dimensional arrays of any of these. Two complex number data types, SCOMPLEX and DCOMPLEX , are built in composite types. Additional composite types defined in the prolog of programs, and are called user-defined types.