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

 

Целочисленные константы — это числа используемые напрямую в коде скетча, без определения переменной для их хранения. По умолчанию такие константы трактуются как тип 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   // same as 257 decimal   ((1 * 16^2) + (0 * 16^1) + 1)
U и L директивы.
 
По умолчанию целочисленные константы относятся компилятором к типу int. Чтобы заставить компилятор использовать другой тип данных, используются следующие директивы.
 
  • 'u' или 'U' для беззнакового целочисленного числа. Пример: 33u
  •  
  • 'l' или 'L' для long типа данных. Пример: 100000L
  •  
  • 'ul' или 'UL' для беззнакового числа long типа данных. Пример: 32767ul
 
Смотрите также

Программирование:

*