Целочисленные константы
Описание
Целочисленные константы — это числа, используемые непосредственно в скетче, например 123. По умолчанию эти числа обрабатываются как int, но вы можете изменить это с помощью модификаторов U и L (см. ниже).
Обычно целочисленные константы обрабатываются как целые числа в десятичной системе счисления (с основанием 10), но для ввода чисел в других системах счисления может использоваться специальная нотация (форматирование).
Основание |
Пример |
Форматирование |
Комментарий |
|---|---|---|---|
10 (десятичное) |
123 |
нет |
|
2 (двоичное) |
0b1111011 |
префикс «0b» |
допустимы символы 0 и 1 |
8 (восьмеричное) |
0173 |
префикс «0» |
допустимы символы 0-7 |
16 (шестнадцатеричное) |
0x7B |
префикс «0x» |
допустимы символы 0-9, A-F, a-f |
Десятичная система (основание 10)
Это обычная математика, с которой вы знакомы. Константы без других префиксов считаются десятичными.
Пример кода:
n = 101; // то же, что 101 в десятичной системе ((1 * 10^2) + (0 * 10^1) + 1)
Двоичная система (основание 2)
Допустимы только символы 0 и 1.
Пример кода:
n = 0b101; // то же, что 5 в десятичной системе ((1 * 2^2) + (0 * 2^1) + 1)
Восьмеричная система (основание 8)
Допустимы только символы от 0 до 7. Восьмеричные значения обозначаются префиксом «0» (ноль).
Пример кода:
n = 0101; // то же, что 65 в десятичной системе ((1 * 8^2) + (0 * 8^1) + 1)
Предупреждение
Можно создать трудно обнаруживаемую ошибку, (непреднамеренно) добавив ведущий ноль перед константой, что приведёт к тому, что компилятор непреднамеренно интерпретирует вашу константу как восьмеричное число.
Шестнадцатеричная система (основание 16)
Допустимые символы — от 0 до 9 и буквы от A до F; A имеет значение 10, B — 11, и так далее до F, которое равно 15. Шестнадцатеричные значения обозначаются префиксом «0x». Обратите внимание, что A-F могут быть как в верхнем (A-F), так и в нижнем (a-f) регистре.
Пример кода:
n = 0x101; // то же, что 257 в десятичной системе ((1 * 16^2) + (0 * 16^1) + 1)
Примечания и предупреждения
Форматирование U и L:
По умолчанию целочисленная константа обрабатывается как int со всеми сопутствующими ограничениями значений. Чтобы указать целочисленную константу другого типа данных, добавьте после неё:
u или U для принудительного приведения константы к беззнаковому формату. Пример: 33u
l или L для принудительного приведения константы к формату long. Пример: 100000L
ul или UL для принудительного приведения константы к формату unsigned long. Пример: 32767ul