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

Описание

Целочисленные константы — это числа, используемые непосредственно в скетче, например 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

Смотрите также