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