Стандартный числовой тип, который может быть базовым для
формирования множества - тип byte.
Множество хранится в памяти как показано в таблице 3.3.
Таблица 3.3
┌──────────┬──────────────────────────────────────────────┐
│ Смещение │ Представление байта в машинной памяти │
│ (байт) │ (номера разрядов) │
├──────────┼──────────────────────────────────────────────┤
│ │ ┌────┬────┬────┬────┬────┬────┬────┬────┐ │
│ @S+0 │ │7 │6 │5 │4 │3 │2 │1 │0 │ │
│ │ └────┴────┴────┴────┴────┴────┴────┴────┘ │
. . . . . . . . . . . . . . . . .
│ │ ┌────┬────┬────┬────┬────┬────┬────┬────┐ │
│ @S+31 │ │255 │254 │253 │252 │251 │250 │249 │248 │ │
│ │ └────┴────┴────┴────┴────┴────┴────┴────┘ │
│ │ 7 0 │
└──────────┴──────────────────────────────────────────────┘
где @S - адрес данного типа множество.
Бит поля установлен в 1, если элемент входит в множество, и в
0 - если не входит.
Например, S : set of byte; S:=[15,19];
Содержимое памяти при этом будет следующим:
@S+0 - 00000000 @S+2 - 00001000
@S+1 - 10000000 . . . . . .
@S+31 - 00000000