Cardinal/ru
Deutsch · English · Français · Русский
Cardinal - это целочисленный тип, определенный в качестве псевдонима типа DWord для 32-битных платформ. Также как и DWord (двойное слово) этот тип данных является 32-битным и интерпретируется как беззнаковое целое. Минимальное значение этого типа 0x0000000, а максимальное - 0xFFFFFFFF) (4,294,967,295).
В системах на базе процессоров x86 тип Cardinal часто используется для хранения адресов памяти, как указатель:
var
anAddress: Cardinal;
anObject: TObject;
begin
anAddress := Cardinal(Self);
with TObject(anAddress) do
begin
// anAddress is casted as a TObject.
end;
end;Однако, из-за того, что в 32- и 64-битных системах порядок следования байт в памяти от младшего к старшему, использование типа Cardinal больше не рекомендуется для операций (арифметики) с адресами памяти (указателями). Вместо него рекомендуется использовать типы NativeInt или NativeUInt. Эти типы соответствуют размерам регистров центрального процессора, которые могут использоваться для работы с адресами памяти, и всегда будут иметь правильный размер. Например, в 64-битных операционных системах тип NativeUInt будет аналогичен типу UInt64 или QuadWord, а в 32-битных NativeUInt будет аналогичен типу DWord или Cardinal.
From the Free Pascal wiki, page "Cardinal/ru", as it stood on 2020-02-10 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
