Множество, базовым типом которого есть перечислимый тип,
хранится также, как множество, базовым типом которого является
тип byte. Однако, в памяти занимает место, которое зависит от ко-
личества элементов в перечислимом типе.
Пример:
Type
Video=(MDA,CGA,HGC,EGA,EGAm,VGA,VGAm,SVGA,PGA,XGA);
Var
S : set of Video;
В памяти будет занимать :
ByteSize = (9 div 8)-(0 div 8)+1=2 байта
При этом память для переменной S будет распределена как по-
казано на рис. 3.8.
┌────┬────┬────┬────┬────┬────┬────┬────┐
@S+0 │SVGA│VGAm│VGA │EGAm│EGA │HGC │CGA │MDA │
├────┼────┼────┼────┼────┼────┼────┼────┤
@S+1 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │XGA │PGA │
└────┴────┴────┴────┴────┴────┴────┴────┘
7 0
Рис. 3.8. Распределение памяти для переменной
типа set of Video
Если выполнить оператор S:=[CGA,SVGA], содержимое памяти при
этом будет: @S+0 - 10000010
@S+1 - 00000000