Арифметические операции
К арифметическим относятся аддитивные и мультипликативные операции:
Сумма величин i = j + 2;
Вычитание величин i = j - 3;
Изменение знака x = - x;
Умножение величин z = 3 * x;
Частное от деления i = j / 5;
Остаток от деления minutes = time % 60;
Добавление 1 к значению переменной i++;
Добавление 1 к значению переменной ++i;
Вычитание 1 от значения переменной k--;
Вычитание 1 от значения переменной --k; |
Операция инкремента и декремента применяются только к переменным, к константам не применяются. Префиксныe инкремент (++i) и декремент (--k) применяются к переменной непосредственно перед использованием этой переменной в выражении.
Постфиксные инкремент (i++) и декремент (k--) применяются к переменной сразу после использования этой переменной в выражении.
Важное замечание
int i=5;
int k = i++ + ++i; |
Могут возникнуть вычислительные проблемы при переносе вышеуказанного выражения из одной среды программирования в другую (например, из Borland C++ в MQL4). В общем случае порядок вычислений зависит от реализации компилятора. На практике существуют два способа реализации постдекремента (постинкремента):
- постдекремент (постинкремент) применяется к переменной после вычисления всего выражения;
- постдекремент (постинкремента) применяется к переменной сразу по месту операции.
В MQL4 в данный момент реализован первый способ вычисления постдекремента (постинкремента). Но даже обладая этим знанием лучше не экспериментировать с использованием данной тонкости.
Примеры:
int a=3;
a++; // верное выражение
int b=(a++)*3; // неверное выражение |
Смотри также
Приоритеты и порядок операций
|