Data type/ru

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) Bahasa Indonesia (id) italiano (it) русский (ru)


Общее

На этой странице представлена подборка типов данных в Free Pascal.
Тип данных - это шаблон для поля данных.
Тип данных поля определяет, как компилятор и процессор интерпретируют его содержимое.
Видимость поля данных зависит от местоположения его объявления.

Целочисленные типы

Беззнаковые типы

Поля данных целых типов без знака могут содержать только «положительные» целые числа.

  • UInt8 - Диапазон: (0 .. 255)
  • Byte - Диапазон: (0 .. 255)
  • UInt16 - Диапазон: (0 .. 65535)
  • Word - Диапазон: (0 .. 65535)
  • NativeUInt - Диапазон: зависит от типа процессора.
  • DWord - эквивалентно Longword.
  • Cardinal - эквивалентно Longword.
  • UInt32 - Диапазон: (0 .. 4294967295)
  • Longword - Диапазон: (0 .. 4294967295)
  • UInt64 - Диапазон: (0 .. 18446744073709551615)
  • QWord - Диапазон: (0 .. 18446744073709551615)


Типы со знаком

Поля данных целых типов со знаком могут содержать положительные и отрицательные целые числа.

  • Int8 - Диапазон: (-128 .. 127)
  • ShortInt - Диапазон: (-128 .. 127)
  • Int16 - Диапазон: (-32768 .. 32767)
  • SmallInt - Диапазон: (-32768 .. 32767)
  • Integer - Диапазон: это эквивалент либо Smallint, либо Longint (для 16 или 32-разрядных процессоров соответственно).
  • Int32 - Диапазон: (-2147483648 .. 2147483647)
  • NativeInt - Диапазон: зависит от типа процессора.
  • Longint - Диапазон: (-2147483648 .. 2147483647)
  • Int64 - Диапазон: (-9223372036854775808 .. 9223372036854775807)


Типы с плавающей точкой

Поля данных типов с плавающей точкой могут содержать:

  1. положительные и отрицательные целые числа с возможными ошибками округления.
  2. положительные и отрицательные числа с плавающей точкой.


  • Single - Диапазон: (1.5E-45 .. 3.4E38)
  • Real - Диапазон: зависит от платформы.
  • Real48 - Диапазон: 2.9E-39 .. 1.7E38
  • Double - Диапазон: (5.0E-324 .. 1.7E308)
  • Extended - Диапазон: зависит от платформы.
  • Comp - Диапазон: (-2E64+1 .. 2E63-1)
  • Currency - Диапазон: (-922337203685477.5808 .. 922337203685477.5807)


Логические(булевы) типы

Поля данных логического типа содержат значения истинности.

  • Boolean - Диапазон: (True, False), 8 Bit
  • ByteBool - Диапазон: (True, False), 8 Bit
  • WordBool - Диапазон: (True, False), 16 Bit
  • LongBool - Диапазон: (True, False), 32 Bit


Перечислимые типы

Поля данных перечислимого типа являются «списками» (перечислениями) целочисленных беззнаковых констант.

  • Enum Type - Диапазон: (интегральные типы данных)


Символьные типы

Типы символов с однобайтовой кодировкой

  • Char - Постоянная длина: 1 байт, представление: 1 символ.
  • ShortString - Максимальная длина: 255 символов.
  • String - Максимальная длина: Short String или Ansistring (зависит от используемого параметра компилятора).
  • PChar - Указатель на строку с нулевым символом на конце без ограничения длины.
  • AnsiString - Нет ограничений по длине.
  • PAnsiChar - Указатель на строку с нулевым символом в конце без ограничения длины.

Смотрите обзор различных типов символов и строк.

Типы символов с многобайтовой кодировкой

Кодировка с 2 или 4 байтами зависит от [используемой операционной] системы.

  • WideChar - Постоянная длина: 2 или 4 байта, представление: 1 символ.
  • WideString - Нет ограничений по длине.
  • PWideChar - Указатель на терминированную строку с нулевым символом на конце без ограничения длины.
  • UnicodeChar - Постоянная длина: 2 или 4 байта, представление: 1 символ.
  • UnicodeString - Нет ограничений по длине.
  • PUnicodeChar - Указатель на терминированную Unicode-строку с нулевым символом на конце без ограничения длины.

Смотрите обзор различных типов символов и строк.

Вариантные типы


Constants

  • Untyped constants
    • Const - Only simple data types can be used.
  • Typed constants
    • Const - Simple data types as well as records and arrays can be used.
  • Resource Strings
    • Resourcestring - Used for localisation (not available in all compiler modes).


Structural types

  • Array - The size of the array depends on the type and the number of elements it contains.
  • Record - A combination of multiple data types.
  • Set - A set of elements of an ordinal type; the size depends on number of elements it contains.


Subrange types


Pointer

  • Pointer - The size depends on the processor type.


Classes and objects

  • Object - Developed under Turbo Pascal 5.5 for DOS and the precursor of class.
  • Class - Developed under Delphi 1.0 for Windows and the successor of object.