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).