Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга по написанию робота под MT4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
484.02 Кб
Скачать

Операции отношения

Операция

Результат

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 значащих цифр), нельзя производить сравнение таких чисел на равенство (==) или неравенство (!=) без предварительной нормализации (о нормализации вещественных чисел я расскажу в следующих выпусках).

В следующем выпуске я расскажу о логических операциях.

Логические операции

В прошлом выпуске я рассказал об операциях отношения, с помощью которых можно сравнить две переменные. Результатом выступало значение типа bool.

Напомню, что значение ЛОЖЬ (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

Побитовые операции

В прошлом выпуске я рассказал о логических операциях, а этот выпуск будет посвящен побитовым операциям.

Для начала необходимо рассказать о формате представления чисел в компьютере.

Мы в нашей жизни привыкли к десятичному представлению чисел: 56, 777, 10957 и т.д. Десятичное представление числа 10957 означает, что 10957 = 1*104 +0*103+9*102+5*101+7*100. Иными словами десятичное число - это a0*100+a1*101+a2*102+...+an*10n. Т.е. сумма произведений соответствующей цифры (ai) на соответствующую степень числа 10 (10i).

В компьютере внутренний формат представления чисел - двоичный. В двоичном формате все числа состоят из нулей и единиц, а в качестве множителя используется не число 10, возведенное в степень, а соответствующая степень числа 2. Например, двоичное число 10001101 равно десятичному (обычному) числу 1*27+0*26+0*25+0*24+1*23+1*22+0*21+1*20 = 128+0+0+0+8+4+0+1 = 141.

Каждая такая двоичная цифра (1 или 0) называется битом.

Теперь мы знаем достаточно, чтобы рассмотрить побитовые операции.