Sign in Join
Wiki copytemporary

Data type/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Data type/ru

OldNewLine
1+# Общее
2+
3+На этой странице представлена подборка типов данных в Free Pascal.\
4+**Тип данных** - это шаблон для [[Data field|поля данных]].\
5+Тип данных поля определяет, как компилятор и процессор интерпретируют его содержимое.\
6+Видимость [[Data field|поля данных]] зависит от местоположения его объявления.
7+
8+# Целочисленные типы
9+
10+## Беззнаковые типы
11+
12+[[Data field|Поля данных]] целых типов без знака могут содержать только «положительные» целые числа.
13+
14+- [[UInt8]] - Диапазон: (0 .. 255)
15+- [[Byte/ru|Byte]] - Диапазон: (0 .. 255)
16+- [[UInt16]] - Диапазон: (0 .. 65535)
17+- [[Word/ru|Word]] - Диапазон: (0 .. 65535)
18+- [[NativeUInt]] - Диапазон: зависит от типа процессора.
19+- [[DWord]] - эквивалентно Longword.
20+- [[Cardinal/ru|Cardinal]] - эквивалентно Longword.
21+- [[UInt32]] - Диапазон: (0 .. 4294967295)
22+- [[Longword/ru|Longword]] - Диапазон: (0 .. 4294967295)
23+- [[UInt64]] - Диапазон: (0 .. 18446744073709551615)
24+- [[QWord]] - Диапазон: (0 .. 18446744073709551615)
25+
26+\
27+
28+## Типы со знаком
29+
30+[[Data field|Поля данных]] целых типов со знаком могут содержать положительные **и** отрицательные целые числа.
31+
32+- [[Int8]] - Диапазон: (-128 .. 127)
33+- [[Shortint/ru|ShortInt]] - Диапазон: (-128 .. 127)
34+- [[Int16]] - Диапазон: (-32768 .. 32767)
35+- [[Smallint/ru|SmallInt]] - Диапазон: (-32768 .. 32767)
36+- [[Integer/ru|Integer]] - Диапазон: это эквивалент либо Smallint, либо Longint (для 16 или 32-разрядных процессоров соответственно).
37+- [[Int32]] - Диапазон: (-2147483648 .. 2147483647)
38+- [[NativeInt]] - Диапазон: зависит от типа процессора.
39+- [[Longint/ru|Longint]] - Диапазон: (-2147483648 .. 2147483647)
40+- [[Int64/ru|Int64]] - Диапазон: (-9223372036854775808 .. 9223372036854775807)
41+
42+\
43+
44+# Типы с плавающей точкой
45+
46+[[Data field|Поля данных]] типов с плавающей точкой могут содержать:
47+
48+1. положительные **и** отрицательные целые числа с возможными ошибками округления.
49+2. положительные **и** отрицательные числа с плавающей точкой.
50+
51+\
52+* [[Single]] - Диапазон: (1.5E-45 .. 3.4E38)
53+
54+- [[Real]] - Диапазон: зависит от платформы.
55+- [[Real48]] - Диапазон: 2.9E-39 .. 1.7E38
56+- [[Double]] - Диапазон: (5.0E-324 .. 1.7E308)
57+- [[Extended]] - Диапазон: зависит от платформы.
58+- [[Comp]] - Диапазон: (-2E64+1 .. 2E63-1)
59+- [[Currency]] - Диапазон: (-922337203685477.5808 .. 922337203685477.5807)
60+
61+\
62+
63+# Логические(булевы) типы
64+
65+[[Data field|Поля данных]] логического типа содержат значения истинности.
66+
67+- [[Boolean]] - Диапазон: (True, False), 8 Bit
68+- [[Bytebool|ByteBool]] - Диапазон: (True, False), 8 Bit
69+- [[Wordbool|WordBool]] - Диапазон: (True, False), 16 Bit
70+- [[Longbool|LongBool]] - Диапазон: (True, False), 32 Bit
71+
72+\
73+
74+# Перечислимые типы
75+
76+[[Data field|Поля данных]] перечислимого типа являются «списками» (перечислениями) целочисленных беззнаковых констант.
77+
78+- [[Enum Type]] - Диапазон: (интегральные типы данных)
79+
80+\
81+
82+# Символьные типы
83+
84+## Типы символов с однобайтовой кодировкой
85+
86+- [[Char]] - Постоянная длина: 1 байт, представление: 1 символ.
87+- [[Shortstring|ShortString]] - Максимальная длина: 255 символов.
88+- [[String]] - Максимальная длина: Short String или Ansistring (зависит от используемого параметра компилятора).
89+- [[PChar]] - Указатель на строку с нулевым символом на конце без ограничения длины.
90+- [[Ansistring|AnsiString]] - Нет ограничений по длине.
91+- [[Pansichar|PAnsiChar]] - Указатель на строку с нулевым символом в конце без ограничения длины.
92+
93+Смотрите обзор различных [[Character and string types/ru|типов символов и строк]].\
94+
95+## Типы символов с многобайтовой кодировкой
96+
97+Кодировка с 2 или 4 байтами зависит от \[используемой операционной\] системы.\
98+* [[Widechar|WideChar]] - Постоянная длина: 2 или 4 байта, представление: 1 символ.
99+
100+- [[Widestring|WideString]] - Нет ограничений по длине.
101+- [[Pwidechar|PWideChar]] - Указатель на терминированную строку с нулевым символом на конце без ограничения длины.
102+- [[Unicodechar|UnicodeChar]] - Постоянная длина: 2 или 4 байта, представление: 1 символ.
103+- [[Unicodestring|UnicodeString]] - Нет ограничений по длине.
104+- [[Punicodechar|PUnicodeChar]] - Указатель на терминированную Unicode-строку с нулевым символом на конце без ограничения длины.
105+
106+Смотрите обзор различных [[Character and string types/ru|типов символов и строк]].\
107+
108+# Вариантные типы
109+
110+- [[Variant]]
111+- [[Olevariant]]
112+
113+\
114+
115+# Константы
116+
117+- Нетипизированные константы
118+ - [[Const]] - Можно использовать только простые типы данных.
119+- Типизированные константы
120+ - [[Const]] - Можно использовать простые типы данных, а также записи и массивы.
121+- Resource Strings
122+ - [[Resourcestring]] - Используется для локализации (доступно не во всех режимах компиляции).
123+
124+\
125+
126+# Структурные типы
127+
128+- [[Array/ru|Array]] - Размер массива зависит от типа и количества элементов, которые он содержит.
129+- [[Record/ru|Record]] - Сочетание нескольких типов данных.
130+- [[Set/ru|Set]] - Набор элементов порядкового типа; размер зависит от количества элементов в нем.
131+
132+\
133+
134+# Типы поддиапазонов
135+
136+- [[subrange types|Типы поддиапазонов]] являются подмножеством базового типа.
137+
138+\
139+
140+# Указатель
141+
142+- [[Pointer/ru|Указатель]] - Размер зависит от типа процессора.
143+
144+\
145+
146+# Классы и объекты
147+
148+- [[Object]] - Разработано под Turbo Pascal 5.5 для DOS и предшественников класса.
149+- [[Class/ru|Class]] - Разработано под Delphi 1.0 для Windows и наследников объекта.
150+
151+\
152+\
153+
154+---
155+*From the Free Pascal wiki, page "Data type/ru", as it stood on 2020-07-18 after a change by FTurtle, 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](/wiki-contact).*

Back to history