int
Описание
Целые числа — это ваш основной тип данных для хранения чисел.
На Arduino UNO (и других платах на базе ATmega) int хранит 16-битное (2-байтовое) значение. Это даёт диапазон от -32 768 до 32 767 (минимальное значение -2^15 и максимальное значение (2^15) - 1). На Arduino Due и платах на базе SAMD (таких как MKR 1000 WiFi и Zero) int хранит 32-битное (4-байтовое) значение. Это даёт диапазон от -2 147 483 648 до 2 147 483 647 (минимальное значение -2^31 и максимальное значение (2^31) - 1).
Тип int хранит отрицательные числа методом, называемым дополнительный код. Старший бит, иногда называемый битом «знака», отмечает число как отрицательное. Остальные биты инвертируются и прибавляется 1.
Arduino заботится об обработке отрицательных чисел за вас, поэтому арифметические операции работают прозрачно, как ожидается. Однако может возникнуть неожиданное затруднение при работе с оператором сдвига вправо (
>>
).
Синтаксис
int var = val;
Параметры
var: имя переменной.val: значение, присваиваемое этой переменной.
Пример кода
Этот код создаёт целочисленную переменную countUp, которая изначально установлена в 0 (ноль). Переменная увеличивается на 1 (единицу) в каждом цикле и отображается в Serial Monitor.
int countUp = 0; // создаёт целочисленную переменную 'countUp'
void setup() {
Serial.begin(9600); // используем последовательный порт для вывода числа
}
void loop() {
countUp++; // прибавляет 1 к countUp в каждом цикле
Serial.println(countUp); // выводит текущее состояние countUp
delay(1000);
}
Примечания и предупреждения
Предупреждение
Когда знаковые переменные превышают свою максимальную или минимальную ёмкость, они переполняются. Результат переполнения непредсказуем, поэтому этого следует избегать. Типичный симптом переполнения — это «откат» переменной с её максимальной ёмкости на минимальную или наоборот, но это не всегда так. Если требуется такое поведение, используйте
unsigned int
.