Операции отношения
Как мы уже знаем, один из стандартных типов переменных в языке MetaQuotes Language 4 — тип bool. Переменная типа bool
может принимать только два значения: ИСТИНА (true) и ЛОЖЬ (false).
Значение ЛОЖЬ представляется в виде нулевого значения, а ИСТИНА —
ненулевого.
Значение операции отношения или логической операции будет иметь тип bool.
Операции отношения
Операция |
Результат |
a == b |
Истина, если a равно b Ложь, если a не равно b |
a != b |
Истина, если a не равно b Ложь, если a равно b |
a < b |
Истина, если a меньше b Ложь, если a больше или равно b |
a <= b |
Истина, если a меньше или равно b Ложь, если a больше b |
a > b |
Истина, если a больше b Ложь, если a меньше или равно b |
a >= b |
Истина, если a больше или равно b Ложь, если a меньше b |
Примечание: в связи с тем, что числа с плавающей точкой (тип double)
не могут быть представлены точно в связи с ограниченным количеством
значащих цифр после запятой (в MetaQuotes Language 4 точность — 15
значащих цифр), нельзя производить сравнение таких чисел на равенство
(==) или неравенство (!=) без предварительной нормализации (о
нормализации вещественных чисел я расскажу в следующих выпусках).
Логические операции
Напомню, что значение ЛОЖЬ (false) представляется в виде нулевого значения, а ИСТИНА (true) — ненулевого.
В этом выпуске я рассмотрю логические операции НЕ (!), ИЛИ (||) и И (&&).
Логическое отрицание НЕ (!)
Операнд A |
Значение выражения !A |
ИСТИНА (true) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
Пример:
bool b;
b = false; // переменная b равна false (ЛОЖЬ)
b = !b; // переменная b равна true (ИСТИНА)
b = !b; // переменная b равна false (ЛОЖЬ)
Логическая операция ИЛИ (||)
Результат логической операции ИЛИ равен true, если хотя бы один из
операндов равен true. Если оба операнда равны false, то и результат
логического ИЛИ также будет равен false.
Операнд A |
Операнд B |
Значение выражения A || B |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
Пример:
bool a = true; // a равно true
bool b = false; // b равно false
b = b || a; // b равно true
Логическая операция И (&&)
Результат операции логического И будет равен true только в случае,
если оба операнда равны true. Во всех иных случаях результат операции
будет равен false.
Операнд A |
Операнд B |
Значение выражения A && B |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ЛОЖЬ (false) |
ЛОЖЬ (false) |
ИСТИНА (true) |
ИСТИНА (true) |
ИСТИНА (true) |
Пример:
bool a = true; // a равно true
bool b = false; // b равно false
b = b && a; // b равно false