Совместимость и преобразование типов данных
| Категория реферата: Топики по английскому языку
| Теги реферата: дипломная работа исследование, реферат египет
| Добавил(а) на сайт: Kapnist.
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата
• выражение из целых и вещественных приводится к вещественным
• одна и та же область памяти трактуется попеременно как содержащая данные то одного, то другого типа.
Совмещение данных может произойти при использовании записей с вариантами, типизированных указателей, содержащих одинаковый адрес, а также при явном размещении данных разного типа в одной области памяти (используется Absolute - за ним помещается либо абсолютный адрес, либо идентификатор ранее определённой переменной).
Абсолютный адрес - пара чисел, разделённых двоеточием - первое - сегмент, второе - смещение.
Пример:
B: Byte Absolute $0000:$0055;
W: Longint Absolute 128:0;
Если за Absolute указан идентификатор переменной, то происходит совмещение в памяти данных разного типа, причём первые байты внутреннего представления данных будут располагаться по одному и тому же абсолютному адресу:
Var
X: Real;
Y: Array [1..3] Of Integer Absolute X;
Эквивалентность типов
Относительно понятия эквивалентности типов существует несколько точек зрения. Рассмотрим три из них. Все они исходят из того, что эквивалентные типы должны допускать одинаковые последовательности операций.
Структурная эквивалентность
Два атрибута типа T1 и T2 называются (структурно) эквивалентными, если
• их базовые типы BT1 и BT2, соответственно, совпадают или
• BT1=arr(M,N,T1'), BT2=arr(M,N,T2') и T1' эквивалентен T2', или
• BT1=rec([F1:T11,...,Fn:T1n]), BT2=rec([F1:T21,...,Fn:T2n]) и T1i эквивалентен T2i для каждого i, или
• BT1=ref(T1'), BT2=ref(T2') и T1' эквивалентен T2' и
• предположение об эквивалентности T1 и T2 не противоречит условиям 1-4.
Несколько странное условие 5 связано с рекурсивностью типов. Оно делает отношение структурной эквивалентности наибольшим среди отношений, удовлетворяющих условиям 1-4.
П р и м е р:
Пусть
T1=rec([info:int,next:T1])
T2=rec([info:int,next:T2])
Рекомендуем скачать другие рефераты по теме: сочинение сказка, рефераты,, оформление доклада титульный лист.
Категории:
Предыдущая страница реферата | 2 3 4 5 6 7 8 9 10 11 12 | Следующая страница реферата