В цьому розділі наведена звідна таблиця типів даних в різних середовищах. Не варто вчити цю таблицю на пам'ять; втім, рекомендовано переглянути її, щоб зрозуміти, які можуть виникати проблеми при перенесені програму з одного компілятора до іншого. Наприклад, програма під PascalABC, що передбачає можливість роботи з зі значенянми integer до 100000, призведе до помилки в Turbo Pascal.

Дійсні типи

Діапазон для дійсних типів (крім comp і currency) вказаний для додатних значень, від'ємні точно відповідають додатнім. Типи comp і currency, хоча й відносяться до дійсних, насправді кодуються як цілі (currency при цьому ділиться на 10000).

Тип Turbo Pascal Delphi Free Pascal Pascal ABC Розмір Діапазон Кількість знаків Розмір Діапазон Кількість знаків Розмір Діапазон Кількість знаків Розмір Діапазон Кількість знаків real 6 байт 2.9*10-39..1.7*1038 11-12 8 байт 5.0*10-324 .. 1.8*10308 15-16 як в single чи double 8 байт 5.0*10-324 .. 1.8*10308 15-16 real48 - 6 байт 2.9*10-39..1.7*1038 11-12 - - single 4 байта 1.5*10-45 .. 3.4*1038 7-8 4 байта 1.5*10-45 .. 3.4*1038 7-8 4 байта 1.5*1038 .. 3.4*1038 7-8 4 байта 1.5*1038 .. 3.4*1038 7-8 double 8 байт 5.0*10-324 .. 1.8*10308 15-16 8 байт 5.0*10-324 .. 1.8*10308 15-16 8 байт 5.0*10-324 .. 1.8*10308 15-16 8 байт 5.0*10-324 .. 1.8*10308 15-16 extended 10 байт 1.9-4932..1.1*104932 19-20 як в extended з Turbo Pascal або real 10 байт 1.9-4932..1.1*104932 19-20 - comp - 8 байт -263..263-1 19-20 8 байт -263..263-1 19-20 - currency - 8 байт 19-20 8 байт 19-20 -

Логічні типи

Тип boolean має внутрішнє представлення як в цілого числа зі значеннями 0 - false, 1 - true. Інші типи мають внутрішнє представлення 0 - false, інше значення - true.

Тип Діапазон Розмір Turbo Pascal Delphi Free Pascal Pascal ABC boolean false..true 1 байт bytebool false..true - 1 байт - wordbool false..true - 2 байти - longbool false..true - 4 байти -

Символьні типи

Символьні типи містять символи. Кодування менших 128 символів завжди ASCII, старших в 1-байтових змінних залежить від системи, в багатобайтових - юнікод.

Тип Turbo Pascal Delphi Free Pascal PascalABC Розмір Діапазон Розмір Діапазон Розмір Діапазон Розмір Діапазон char 1 байт #0..#255 2 байта #0..#$ffff (UTF-16) 1 байт #0..#255 1 байт #0..#255 ansichar - 1 байт #0..#255 1 байт #0..#255 - widechar - 2 байта #0..#$ffff (UTF-16) 2 байта #0..#$ffff (UTF-16) - ucs2char - 2 байта #0..#$ffff (UTF-16) 2 байта #0..#$ffff (UTF-16) - ucs4char - 4 байта #0..#$ffffffff (UTF-32) 4 байта #0..#$ffffffff (UTF-32) - unicodechar - - 2 байта #0..#$ffff (UTF-16) -

Рядкові типи

Рядки зберігаються в Паскалі у вигляді масивів символів; типи string (і сумісний з ним shortstring) тримають в першому байті поточну довжину рядка; решта типів є, насправді, посиланнями на рядок в пам'яті, що закінчується нульовим символом, з певною додатковою інформацією. В деяких реалізаціях нульовий символ додається і до звичайного string.

Тип Turbo Pascal Delphi Free Pascal PascalABC PascalABC.NET Максимальна довжина Розмір Максимальна довжина Розмір Максимальна довжина Розмір Максимальна довжина Розмір Максимальна довжина Розмір string 255 літер 256 байт як в string або unicodestring як в string або ansistring 255 літер ? обмежено системою ? string[довжина] довжина(до 255) довжина+1 байт довжина(до 255) довжина+1 байт довжина(до 255) довжина+2 байта довжина(до 255) ? довжина (до 256) ? shortstring - до 255 літер довжина+1 байт до 255 літер довжина+2 байта - - ansistring - обмежено системою довжина + 16(?) байт обмежено системою довжина + 17 байт - - rawbytestring, utf8string - як в ansistring - - - widestring - обмежено системою 2*довжина + ? байт обмежено системою 2*довжина + 17 байт - - unicodestring - обмежено системою 2*довжина + 16(?) байт обмежено системою 2*довжина + 17 байт - - "Обмежено системою" означає, що максимальна кількість літер в рядку залежить від системи, в якій виконується програма, а не від обмежень мови Паскаль. Зазвичай верхня межа - 2ГБ.

Джерела Delphi(англ.) PascalABC(рос.) Free Pascal(англ.) Turbo Pascal(рос.)