Difference between revisions of "Data type/ru"

From Lazarus wiki
Jump to navigationJump to search
(translation)
(Deleted categories (all needed is in template))
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Тип данных}}
+
{{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 и наследников объекта.