Множество, базовым типом которого есть интервальный тип, хранится так же, как множество, базовым типом которого является тип byte. Однако, в памяти занимает место, которое зависит от количества элементов, входящих в объявленный интервал.
Например:
type S=10..17;
var I:set of S;
Это не значит, что первый элемент будет начинаться с 10-го или 0-го бита, как может показаться на первый взгляд. Как видно из формулы, смещение внутри байта 10 mod 8 = 2, смещение первого элемента множества I начнётся со второго бита. И, хотя множество этого интервала свободно могло поместиться в один байт, оно займёт
(17 div 8)-(10 div 8)+1 = 2 байта.
В памяти это множество имеет представление, как показано на рис. 4.3.
Рис. 4.3. Представление переменной типа set of S.
Для конструирования множеств интервальный тип самый экономичный, т.к. занимает память в зависимости от заданных границ.
studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление