The storage size of the default integer types are given in Reference Guide. In the case of user
defined-types, the storage space occupied depends on the bounds of the type:
- If both bounds are within range -128..127, the variable is stored as a shortint (signed
8-bit quantity).
- If both bounds are within the range 0..255, the variable is stored as a byte (unsigned
8-bit quantity).
- If both bounds are within the range -32768..32767, the variable is stored as a smallint
(signed 16-bit quantity).
- If both bounds are within the range 0..65535, the variable is stored as a word (unsigned
16-bit quantity)
- If both bounds are within the range 0..4294967295, the variable is stored as a longword
(unsigned 32-bit quantity).
- Otherwise the variable is stored as a longint (signed 32-bit quantity).