Arduino:Справочник языка Arduino/Константы/Целочисленные константы: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c">» на «<syntaxhighlight lang="c" enclose="div">»)
 
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 28: Строка 27:
==== Пример ====
==== Пример ====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
101    // 101 десятичные  ((1 * 10^2) + (0 * 10^1) + 1)
101    // 101 десятичные  ((1 * 10^2) + (0 * 10^1) + 1)
</syntaxhighlight>
</syntaxhighlight>
Строка 38: Строка 37:
==== Пример ====
==== Пример ====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
B101    // тоже что 5 десятичных  ((1 * 2^2) + (0 * 2^1) + 1)
B101    // тоже что 5 десятичных  ((1 * 2^2) + (0 * 2^1) + 1)
</syntaxhighlight>
</syntaxhighlight>
Строка 44: Строка 43:
Использование двоичного формата допускается только с 8-битными числами, принимающими значение от 0 (B0) до 255(B11111111). Если необходимо задать значение 16-битного целого int бинарными константами, то это может быть сделано в два шага:
Использование двоичного формата допускается только с 8-битными числами, принимающими значение от 0 (B0) до 255(B11111111). Если необходимо задать значение 16-битного целого int бинарными константами, то это может быть сделано в два шага:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
myInt = (B11001100 * 256) + B10101010;
myInt = (B11001100 * 256) + B10101010;
</syntaxhighlight>
</syntaxhighlight>
Строка 54: Строка 53:
====Пример====
====Пример====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
0101    // то же, что десятичное 65  ((1 * 8^2) + (0 * 8^1) + 1)
0101    // то же, что десятичное 65  ((1 * 8^2) + (0 * 8^1) + 1)
</syntaxhighlight>
</syntaxhighlight>
Строка 66: Строка 65:
====Пример====
====Пример====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
0x101  // то же, что десятичное 257  ((1 * 16^2) + (0 * 16^1) + 1)
0x101  // то же, что десятичное 257  ((1 * 16^2) + (0 * 16^1) + 1)
</syntaxhighlight>
</syntaxhighlight>
Строка 80: Строка 79:
====Пример====
====Пример====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
33u
33u
</syntaxhighlight>
</syntaxhighlight>
Строка 90: Строка 89:
====Пример====
====Пример====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
100000L
100000L
</syntaxhighlight>
</syntaxhighlight>
Строка 100: Строка 99:
====Пример====
====Пример====


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
32767ul
32767ul
</syntaxhighlight>
</syntaxhighlight>


==См.также==
=См.также=


==Внешние ссылки==
 
=Внешние ссылки=


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}


[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]
[[Категория:Константы языка Arduino]]
[[Категория:Константы языка Arduino]]

Текущая версия от 11:26, 8 июля 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


Целочисленные константы

Целочисленные константы — это числа используемые напрямую в коде скетча, без определения переменной для их хранения. По умолчанию такие константы трактуются как тип int, но это может быть изменено директивами U и L (см. ниже).

Обычно такие константы считаются десятичными целыми числами, но специальные директивы позволяют задать отличный базис.

Базис Пример Директива Комментарий
10 (decimal- десятеричный) 123 нет -
2 ( binary - двоичный) B1110111 первая B только для 8-бит значений (0-255), разрешенные знаки 0 и 1
8 (octal) 073 первая "0" разрешенные знаки 0-7
16(hexadecimal) 0x7B первые "0x" разрешенные знаки 0-9, A-F, a-f

Decimal (десятичные) базис 10

Наиболее распространен. Константы без префиксов (директив) по умолчанию считаются десятичными

Пример

101     // 101 десятичные   ((1 * 10^2) + (0 * 10^1) + 1)

Binary (двоичный или бинарный) базис 2

Только 0 и 1 разрешены для записи.

Пример

B101    // тоже что 5 десятичных   ((1 * 2^2) + (0 * 2^1) + 1)

Использование двоичного формата допускается только с 8-битными числами, принимающими значение от 0 (B0) до 255(B11111111). Если необходимо задать значение 16-битного целого int бинарными константами, то это может быть сделано в два шага:

myInt = (B11001100 * 256) + B10101010;

Octal — базис 8

Допустимы 0-7. Форматирующий префикс "0".

Пример

0101    // то же, что десятичное 65   ((1 * 8^2) + (0 * 8^1) + 1)

Внимание! Включение "0" перед константой по ошибке может привести к очень сложно-диагностируемой ошибке, из-за того, что компилятор будет считать константу в восьмеричной системе.

Hexadecimal (or hex) базис 16

Допустимы знаки 0-9, A-F и a-f. A — это десятеричное 10, B — 11, и т.д до F — 15. Предваряющий "0x" используется как форматирующая директива.

Пример

0x101   // то же, что десятичное 257   ((1 * 16^2) + (0 * 16^1) + 1)

U и L директивы

По умолчанию целочисленные константы относятся компилятором к типу int. Чтобы заставить компилятор использовать другой тип данных, используются следующие директивы.

'u' или 'U'

Для беззнакового целочисленного числа.

Пример

33u

'l' или 'L'

Для long типа данных.

Пример

100000L

'ul' или 'UL'

Для беззнакового числа long типа данных.

Пример

32767ul

См.также

Внешние ссылки