Целые типы
Byte: 0..255 — байтовый (1 байт)
ShortInt: -128..127 — короткое целое (1 байт)
Word: 0..65535 — 16-ричное слово (2 байта)
Integer(в C, C++,…-int) — целые. Начиная с Delphi3 по умолчанию идентичен longInt – см.далее
LongInt: -2147483648..2147483647 — длинное целое (диапазон примерно
-2e9..2e9, размер 4 байта)
LongWord – 32-битные без знака (4байта)
Int64 – 64-битные со знаком (8 байт) – имеют особенности в правилах приведения типа
Вещественные типы
Real(в C - float) — вещественные, (изначально был 6 байт, 11..12 значащих цифр мантиссы): 0.0, 0.1, 1e6,2.9e-39, -1.7e38
Начиная с Delphi3 по умолчанию идентичен Double (см. далее)
Double: 5.0e-324..1.7e308 — двойная точность (8 байт, 15..16 значащих
цифр мантиссы)
Extended: 1.9e-4951..1.1e4932 — расширенная точность (10 байт, 19..20
значащих цифр мантиссы)
Булевский (логический) тип
Boolean (1 байт): величины этого типа принимают только значения true или false.Во всех C-образных языках кроме Java идентичен байтовому типу
Символьный (литерный) тип
Char (1 байт): один символ. 'A', 'b', '*', ' ', '/'. (Существует в Java, в других C-образных языках идентичен байтовому типу. В Java константы символьного типа пишутся в двойных кавычках: “A”, “b” и т.д).
Строковый тип
String (не менее 4 байт): произвольное число символов (от 0 до 2e9). 'A', 'abcd', 'мама моет раму', ' '. Работа со строками в Object PASCAL не имеет аналогов по мощности и удобству в других языках программирования
Двоичное представление целых положительных чисел
…
Двоичное представление целых отрицательных чисел
…
Двоичное представление вещественных чисел
Двоичные дроби. … Мантисса и логарифм…
2.4. Особенности работы с некоторыми типами данных
1. 64-битовые целые
Описание:
Var a:Int64;
Значения — 263 … 263 -1 - знаковые 64-битные.
Преобразование обычного числа в 64-битовое – с помощью функции Int64.
Примеры задания 64-битных статических переменных (о том, что это такое, см. :
const Num64=Int64(17);
const Num64b:Int64=17;
const Num64c=3000000000;
Вызовы осуществляются только с 64-битными числами во всех частях выражения:
a:=a+Int64(1);
2. 32-битовые без знака — Longword;
0..4294967295 (то есть чуть больше 4*109 ) — то есть то же, что Cardinal;
3. Изменения в типе Real
Был 48-битовым, теперь идентичен 64-битовому Double. Для совместимости можно использовать тип Real48 либо ставить опцию компилятору
{REALCOMPATIBILITY ON}