Числовые множества

Стандартный числовой тип, который может быть базовым для

формирования множества - тип 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