case)then is usually rounded up to the next larger integer each array component then occupies wordswhereby - words are left unused (see figs and rounding up of the number of words needed to the next whole number is called padding the storage utilization factor is the quotient of the minimal amounts of storage needed to represent structure and of the amount actually usedu ( rounded up to nearest integerstore array fig mapping an array onto store = = unused fig padded representation of record since an implementor has to aim for storage utilization as close to as possibleand since accessing parts of words is cumbersome and relatively inefficient processhe or she must compromise the following considerations are relevant padding decreases storage utilization omission of padding may necessitate inefficient partial word access partial word access may cause the code (compiled programto expand and therefore to counteract the gain obtained by omission of padding in factconsiderations and are usually so dominant that compilers always use padding automatically we notice that the utilization factor is always if howeverif < the utilization factor may be significantly increased by putting more than one array component into each word this technique is called packing if components are packed into wordthe utilization factor is (see fig * ( * rounded up to nearest integerpadded fig packing components into one word access to the -th component of packed array involves the computation of the word address in which the desired component is locatedand it involves the computation of the respective component position within the word div mod in most programming languages the programmer is given no control over the representation of the abstract