Добавить в корзинуПозвонить
Найти в Дзене
informatics_for_everyone

Программирование. Arduino. Основы математики

Одной из основных функций микроконтроллера является выполнение вычислений, как с числами напрямую, так и со значениями переменных:
= присваивание
+ сложение
- вычитание
* умножение
/ деление
% остаток от деления
Переменная может участвовать в расчёте своего собственного значения. Для краткости записи существуют составные операторы:
+= составное сложение: a += 10 равносильно a = a + 10
-= составное вычитание: a -= 10 равносильно a = a - 10
*= составное умножение: a *= 10 равносильно a = a * 10
/= составное деление: a /= 10 равносильно a = a / 10
%= остаток от деления: a %= 10 равносильно a = a % 10
Пример:
int a = 10;
int b = 20;
int c = a + b;
int d = a * b;
// 1 вариант
d = d / a;
c = c * d;
// 2 вариант
d /= a;
c *= d;
Короткая запись прибавление или вычитание единицы:
++ (плюс плюс) инкремент: a++ равносильно a = a + 1
-- (минус минус) декремент: a-- равносильно a = a - 1 Порядок записи инкремента играет очень большую роль: пост-инкремент var++ возвращает значе

Одной из основных функций микроконтроллера является выполнение вычислений, как с числами напрямую, так и со значениями переменных:
= присваивание
+ сложение
- вычитание
* умножение
/ деление
% остаток от деления

Переменная может участвовать в расчёте своего собственного значения. Для краткости записи существуют составные операторы:
+= составное сложение: a += 10 равносильно a = a + 10
-= составное вычитание: a -= 10 равносильно a = a - 10
*= составное умножение: a *= 10 равносильно a = a * 10
/= составное деление: a /= 10 равносильно a = a / 10
%= остаток от деления: a %= 10 равносильно a = a % 10

Пример:
int a = 10;
int b = 20;
int c = a + b;
int d = a * b;
// 1 вариант
d = d / a;
c = c * d;
// 2 вариант
d /= a;
c *= d;


Короткая запись прибавление или вычитание единицы:
++ (плюс плюс) инкремент: a++ равносильно a = a + 1
-- (минус минус) декремент: a-- равносильно a = a - 1

Порядок записи инкремента играет очень большую роль: пост-инкремент var++ возвращает значение переменной до выполнения инкремента. Операция пре-инкремента ++var возвращает значение уже изменённой переменной.
Пример:
byte a, b;
a = 10;
b = a++;
// a получит значение 11
// b получит значение 10

a = 10;
b = ++a;
// a получит значение 11
// b получит значение 11

{
byte a;
// объявляем переменную
byte b = 0;
// инициализируем 0
a++;
// результат непредсказуем
b++;
// результат 1
}

Порядок вычислений

Порядок вычисления выражений: сначала выполняются действия в скобках, затем умножение и деление, и в конце – сложение и вычитание.