A representation of an array structure is a mapping of the (abstract) array with elements of type T onto the store which is an array with elements of type BYTE. The array could be mapped in such a way that the computation of addresses of array elements is as simple as possible. The address i of the j-th array elements is computed by the linear mapping function
i = i0 + j*s
where i is the address of the first element, and s is the number of words that a element occupies. Assuming that the word is the smallest personally transferable unit of store, it is evidently highly needed that s be a whole number value, the simplest case being s = 1. If s is not a whole number, then s is generally rounded up to the next larger integer S. Each array component then accepts S words, whereby S-s words are left unused. Rounding up of the number of words required to the next whole number is called padding. The storage utilization factor u is the quotient of the minimal amounts of storage required to represent a structure and of the value actually used: