Data type/ru: Difference between revisions

From Lazarus wiki
Jump to navigationJump to search
mNo edit summary
(Deleted categories (all needed is in template))
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Data type}}
{{Data type}}


'''Тип данных''' это классификация переменных или констант. Эти типы определены в любом компиляторе Pascal (потому что они нужны чтоб сделать всё). Список:
__TOC__


* [[Byte|byte]] - беззнаковое число число от 0 до 255 (положительное).
* [[Char|char]] - одна буква.
* [[Integer|integer]] - целое число. FPC использует для них 4 байта.
* [[Real|real]] - число, которое может иметь десятичную запятую и может иметь экспоненту.
* [[Cardinal|cardinal]] - беззнаковое целое число (положительное).
* [[Set|set]] - коллекция похожих элементов; размер зависит от количества элементов.
* [[Pointer|pointer]] - ссылка на область в памяти, обычно используется для динамических переменных.
* [[Record|record]] - набор данных, объединенных вместе.
* [[Class|class]]
* [[Object|object]] - гибридная сущность, которая может содержать как данные, так процедуры для манипулирования этими данными.


Другие типы данных обычно создаются комбинированием типов сверху. FPC добавляет еще несколько типов данных.
=Общее=
На этой странице представлена подборка типов данных в Free Pascal. <br>
'''Тип данных''' - это шаблон для [[Data field|поля данных]]. <br>
Тип данных поля определяет, как компилятор и процессор интерпретируют его содержимое. <br>
Видимость [[Data field|поля данных]] зависит от местоположения его объявления.
 
=Целочисленные типы=
==Беззнаковые типы==
[[Data field|Поля данных]] целых типов без знака могут содержать только «положительные» целые числа.
* [[UInt8]] - Диапазон: (0 .. 255)
* [[Byte/ru|Byte]] - Диапазон: (0 .. 255)
* [[UInt16]] - Диапазон: (0 .. 65535)
* [[Word/ru|Word]] - Диапазон: (0 .. 65535)
* [[NativeUInt]] - Диапазон: зависит от типа процессора.
* [[DWord]] - эквивалентно Longword.
* [[Cardinal/ru|Cardinal]] - эквивалентно Longword.
* [[UInt32]] - Диапазон: (0 .. 4294967295)
* [[Longword/ru|Longword]] - Диапазон: (0 .. 4294967295)
* [[UInt64]] - Диапазон:  (0 .. 18446744073709551615)
* [[QWord]] - Диапазон:  (0 .. 18446744073709551615)
<br>
<br>
==Типы со знаком==
[[Data field|Поля данных]] целых типов со знаком могут содержать положительные '''и''' отрицательные целые числа.
* [[Int8]] - Диапазон: (-128 .. 127)
* [[Shortint/ru|ShortInt]] - Диапазон: (-128 .. 127)
* [[Int16]] - Диапазон: (-32768 .. 32767)
* [[Smallint/ru|SmallInt]] - Диапазон: (-32768 .. 32767)
* [[Integer/ru|Integer]] - Диапазон: это эквивалент либо Smallint, либо Longint (для 16 или 32-разрядных процессоров соответственно).
* [[Int32]] - Диапазон: (-2147483648 .. 2147483647)
* [[NativeInt]] - Диапазон: зависит от типа процессора.
* [[Longint/ru|Longint]] - Диапазон: (-2147483648 .. 2147483647)
* [[Int64/ru|Int64]] - Диапазон: (-9223372036854775808 .. 9223372036854775807)
<br>
<br>


[[Category:Pascal]]
=Типы с плавающей точкой=
[[Data field|Поля данных]] типов с плавающей точкой могут содержать:
# положительные '''и''' отрицательные целые числа с возможными ошибками округления.
# положительные '''и''' отрицательные числа с плавающей точкой.
<br>
* [[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)
<br>
 
=Логические(булевы) типы=
[[Data field|Поля данных]] логического типа содержат значения истинности.
* [[Boolean]] - Диапазон: (True, False), 8 Bit
* [[Bytebool|ByteBool]] - Диапазон: (True, False), 8 Bit
* [[Wordbool|WordBool]] - Диапазон: (True, False), 16 Bit
* [[Longbool|LongBool]] - Диапазон: (True, False), 32 Bit
<br>
 
=Перечислимые типы=
[[Data field|Поля данных]] перечислимого типа являются «списками» (перечислениями) целочисленных беззнаковых констант.
* [[Enum Type]] - Диапазон: (интегральные типы данных)
<br>
 
=Символьные типы=
==Типы символов с однобайтовой кодировкой==
* [[Char]] - Постоянная длина: 1 байт, представление: 1 символ.
* [[Shortstring|ShortString]] - Максимальная длина: 255 символов.
* [[String]] - Максимальная длина: Short String или Ansistring (зависит от используемого параметра компилятора).
* [[PChar]] - Указатель на строку с нулевым символом на конце без ограничения длины.
* [[Ansistring|AnsiString]] - Нет ограничений по длине.
* [[Pansichar|PAnsiChar]] - Указатель на строку с нулевым символом в конце без ограничения длины.
Смотрите обзор различных [[Character_and_string_types/ru|типов символов и строк]].
<br>
 
== Типы символов с многобайтовой кодировкой==
Кодировка с 2 или 4 байтами зависит от [используемой операционной] системы.<br>
* [[Widechar|WideChar]] - Постоянная длина: 2 или 4 байта, представление: 1 символ.
* [[Widestring|WideString]] - Нет ограничений по длине.
* [[Pwidechar|PWideChar]] - Указатель на терминированную строку с нулевым символом на конце без ограничения длины.
* [[Unicodechar|UnicodeChar]] - Постоянная длина: 2 или 4 байта, представление: 1 символ.
* [[Unicodestring|UnicodeString]] - Нет ограничений по длине.
* [[Punicodechar|PUnicodeChar]] - Указатель на терминированную Unicode-строку с нулевым символом на конце без ограничения длины.
Смотрите обзор различных [[Character_and_string_types/ru|типов символов и строк]].
<br>
 
=Вариантные типы=
*[[Variant]]
*[[Olevariant]]
<br>
 
=Константы=
*Нетипизированные константы
**[[Const]] - Можно использовать только простые типы данных.
*Типизированные константы
**[[Const]] - Можно использовать простые типы данных, а также записи и массивы.
*Resource Strings
**[[Resourcestring|Resourcestring]] - Используется для локализации (доступно не во всех режимах компиляции).
<br>
 
=Структурные типы=
* [[Array/ru|Array]] - Размер массива зависит от типа и количества элементов, которые он содержит.
* [[Record/ru|Record]] - Сочетание нескольких типов данных.
* [[Set/ru|Set]] - Набор элементов порядкового типа; размер зависит от количества элементов в нем.
<br>
 
=Типы поддиапазонов=
* [[subrange types|Типы поддиапазонов]] являются подмножеством базового типа.
<br>
 
=Указатель=
* [[Pointer/ru|Указатель]] - Размер зависит от типа процессора.
<br>
 
=Классы и объекты=
* [[Object]] - Разработано под Turbo Pascal 5.5 для DOS и предшественников класса.
* [[Class/ru|Class]] - Разработано под Delphi 1.0 для Windows и наследников объекта.
<br>
<br>

Latest revision as of 22:30, 18 July 2020

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-строку с нулевым символом на конце без ограничения длины.

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

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


Константы

  • Нетипизированные константы
    • Const - Можно использовать только простые типы данных.
  • Типизированные константы
    • Const - Можно использовать простые типы данных, а также записи и массивы.
  • Resource Strings
    • Resourcestring - Используется для локализации (доступно не во всех режимах компиляции).


Структурные типы

  • Array - Размер массива зависит от типа и количества элементов, которые он содержит.
  • Record - Сочетание нескольких типов данных.
  • Set - Набор элементов порядкового типа; размер зависит от количества элементов в нем.


Типы поддиапазонов


Указатель


Классы и объекты

  • Object - Разработано под Turbo Pascal 5.5 для DOS и предшественников класса.
  • Class - Разработано под Delphi 1.0 для Windows и наследников объекта.