> 
 8 
  4 
  8 
  10 
  8 
  8 
 Real 
  Single 
  Double 
  Extended 
  Comp 
  Currency 
 15 ... 16 
  7 ... 8 
  15 ... 16 
  19 ... 20 
  19 ... 20 
  19 ... 20 
				
				
				
				
			
 5.0 * 10e-324 ... 1.7 * 10e308 
  1.5 * 10e-45 ... 3.4 * 10e38 
  5.0 * 10e324 ... 1.7 * 10e308 
  3.4 * 10-4951 ... 1.1 * 10e4932 
 -2e63 ... +2 e63-1 
  +/-922 337 203 +685477,5807 
  У попередніх версіях Delphi 1 ... 3 тип  Real  займав 6 байт і мав діапазон значень від 2,9 * 10-39 до 1,7 * 1038. У версіях 4 і 5 цей тип еквівалентний типу  Double . Якщо потрібно (з метою сумісності) використовувати 6-байтних  Real , потрібно вказати директиву компілятора {SREALCOMPATIBILITY ON}. p> Як видно з табл. 1.4, дійсне число в Object Pascal займає від 4 до 10 суміжних байт і має наступну структуру в пам'яті ПК. 
  Тут s - знаковий розряд числа; е - експоненціальна частина; містить двійковий порядок; m - мантиса числа. 
  Мантисса m має довжину від 23 (для  single ) до 63 (для  Extended ) двійкових розрядів, що й забезпечує точність 7 ... 8 для  single  і 19 ... 20 для  Extended  десяткових цифр. Десяткова крапка (кома) мається на увазі перед лівим (старшим) розрядом мантиси, але при діях з числом її положення зсувається вліво або вправо відповідно до двійковим порядком числа, що зберігаються в експоненційної частини, тому дії над речовими числами називають арифметикою з плаваючою крапкою (комою). 
  Зазначимо, що арифметичний співпроцесор завжди обробляє числа в форматі  Extended , а три інших речових типу в цьому випадку виходять простим усіканням результатів до потрібних розмірів і застосовуються в основному для економії пам'яті. 
  Особливе становище в Object Pascal займають типи  comp  і  Currency , які трактуються як речові числа з дробовими частинами фіксованою довжини: у  comp  дрібна частина має довжину 0 розрядів, тобто просто відсутня, в  currency  довжина дробової частини -4 десяткових розряду. Фактично обидва типи визначають велике ціле число зі знаком, що зберігає 19 ... 20 значущих десяткових цифр (у внутрішньому поданні вони займають 8 суміжних байт). У той же час у виразах  comp  і  currency  повністю сумісні з будь-якими іншими речовими типами: над ними визначені всі речові операції, вони можуть використовуватися як аргументи математичних функцій і т. д. Найбільш відповідною областю застосування цих типів є бухгалтерські розрахунки. 
В  
  1.1.3 Тип дата-час  
  Тип дата-час визначається стандартним ідентифікатором  TDateTime  і призначений для одночасного зберігання та дати, і часу. У внутрішньому поданні він займає 8 байт і подібно  currency  представляє собою дійсне число з фіксованою дробової частиною: в цілій частині числа зберігається дата, в дробової - час. Дата визначається як кількість діб, що пройшли з 30 Грудень 1899, а час - як частину доби, що минули з 0 годин, так що значення 36444,837 відповідає даті 11.10.1999 і часу 20:05. Кількість доби може бути і негативним, проте значення менші -693594 (відповідає датою 00.00.0000 від Різдва Христового) ігноруються функціями перетворення дати до строкового типу. 
  Над даними типу  TDateTime  визначені ті ж операції, що і над речовими числами, а у виразах цього типу можуть брати участь константи і змінні цілого і речового типів. 
  Оскільки тип  TDateTime  сумісний з форматом дійсних чисел, можна без зусиль визначити дату, віддалену від заданої на скільки-то днів вперед або назад: для цього досить відповідно додати до заданої датою або відняти від неї потрібне ціле число. 
В  
  1.2 Структуровані типи  
   Будь-який з структурованих типів (а в Object Pascal їх чотири: масиви, запису, множини і файли) характеризується множинністю які складають цей тип елементів. Кожен елемент, у свою чергу, може належати структурованого типу, що дозволяє говорити про можливу вкладеності типів. У Object Pascal допускається довільна глибина вкладеності типів, однак сумарна довжина будь-якого з них у внутрішньому представленні не повинна перевищувати 2 Гбайт [16-розрядні версії операційної системи Windows З.х використовують так звану "сегментну" модель пам'яті, тому в Delphi 1 будь структурований тип не може займати більше одного сегмента (65536 байт)]. 
  З метою сумісності зі стандартним Паскалем в Object Pascal дозволяється перед описом структурованого типу ставити зарезервоване слово packed , приписуюче компілятору по можливості економити пам'ять, відведену під об'єкти структурованого типу; але компілятор фактично ігнорує це вказівка: "упаковка" даних у Object Pascal здійснюється автоматаческі скрізь, де це...