Как правило, организация доступа к части слова – дело хлопотное и небыстрое. Из-за этого выравнивание чаще всего применяется. Но бывают ситуации, когда необходимо использовать каждый байт памяти. Если s<0.5, то в одном слове поместится более одного элемента массива. Тогда удастся выполнить упаковку(packing) нескольких элементов в одно слово. В этом случае коэффициент использования памяти равен
,
| ( 3.3)
|
где n – число элементов массива, умещающихся в одном слове.
Для доступа к i-му элементу упакованного массива программе придется выполнить следующие действия:
1. Вычислить адрес слова j = i DIV n.
2. Вычислить смещение элемента внутри этого слова k = i MOD n.
Чтобы массив или запись упаковывались, при их описании указывается ключевое слово PACKED:
TA=PACKED ARRAY …
TR=PACKED RECORD …