Difference between revisions of "Byte/ru"
m (Fixed syntax highlighting) |
|||
Line 14: | Line 14: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Использование типов данных '''byte''' или '''char''' обеспечивает лучшую документированность при работе с конкретными переменными. Тип '''byte''' может быть [[coercion | + | Использование типов данных '''byte''' или '''char''' обеспечивает лучшую документированность при работе с конкретными переменными. Тип '''byte''' может быть [[coercion|приведен]] к типу '''char''' с помощью функции '''[[Chr/ru|chr]]'''. Значения типа '''Char''' могут быть приведены к типу '''byte''' с помощью функции '''[[Ord/ru|ord]]'''. |
Исправленный вариант приведенной выше программы: | Исправленный вариант приведенной выше программы: |
Revision as of 16:23, 3 September 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
italiano (it) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Тип byte (байт) является беззнаковым целым типом, представляющим значения в диапазоне 0 .. 255 и занимающим 8 бит. Типы byte и char являются одним и тем же в Free Pascal версии 3 за исключением того, что byte может использоваться только в качестве числового типа, а char может использоваться для символов или частей строк и не может использоваться в арифметических выражениях. Тип byte всегда будет иметь такой же размер, как и AnsiChar. При этом, в будущем тип Char может быть рассмотрен в качестве синонима для WideChar,а не AnsiChar.
Например:
var
c: byte;
ch: char;
begin
c := 65; ch := 'A'; { одинаковые и допустимые действия }
c := 'A'; ch := 65; { в то время как эти действия также одинаковы, но недопустимы }
end.
Использование типов данных byte или char обеспечивает лучшую документированность при работе с конкретными переменными. Тип byte может быть приведен к типу char с помощью функции chr. Значения типа Char могут быть приведены к типу byte с помощью функции ord.
Исправленный вариант приведенной выше программы:
var
c: byte;
ch: char;
begin
c := 65; ch := 'A'; { одинаковые и допустимые действия }
c := ord('A'); ch := Chr(65); { теперь допустимо ... ch := Chr(65); это равносильно ch := #65}
c := Byte('A'); ch := Char(65); { также допустимо и гарантированно выполнится при компиляции }
end.
Функция IntToBin из модуля StrUtils может использоваться для получения строки, отображающей двоичное представление байта:
uses StrUtils;
var
a_byte : Byte = 10;
begin
Writeln(IntToBin(a_byte,8));
end.
Выведет:
00001010
Типы данных | |
---|---|
Простые типы | Boolean | Byte | Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word |
Сложные типы | Array | Class | Record | Set | String | Shortstring |