Какая из логических операций имеет наибольший приоритет
Перейти к содержимому

Какая из логических операций имеет наибольший приоритет

  • автор:

Основы логики. Приоритет логических операций.

С начальной школы каждый помнит порядок действий в математике. Все знают, что, к примеру, умножение «важнее» сложения, и выполняется в первую очередь. В логике также каждая операция имеет свой приоритет.

Приоритет логических операций в порядке убывания

  • Выражение в скобках.
  • Отрицание.
  • Конъюнкция.
  • Дизъюнкция.
  • Импликация.
  • Эквиваленция.

К примеру, выражение A ˄ B ≡ C → D можно записать как (A ˄ B) ≡ (C → D).

Подряд идущие импликации

В выражении вида

импликация выполняется слева направо, то есть его можно записать как

Поделиться:
Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

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

Когда в выражении содержится несколько операций, каждая часть вычисляется и разрешается в предопределенном порядке, который называется приоритетом операторов.

Когда выражения содержат операторы из нескольких категорий, первыми вычисляются арифметические операторы, затем вычисляются операторы сравнения, а последними вычисляются логические операторы.

Все операторы сравнения имеют одинаковый приоритет, то есть они вычисляются слева направо в том порядке, в котором отображаются.

Арифметические и логические операторы вычисляются в следующем порядке приоритета:

Арифметические Сравнение Логических
Возведение в степень ( ^ ) Равенство ( = ) Not
Отрицание ( — ) Неравенство ( < >) And
Умножение и деление ( * , / ) Меньше ( < ) Or
Целочисленное деление ( \ ) Больше ( > ) Xor
Арифметика модуля ( Mod ) Меньше или равно ( < = ) Eqv
Сложение и вычитание ( + , — ) Больше или равно ( > = ) Imp
Объединение строк ( & ) Например, является

Когда умножение и деление выполняются в одном выражении, каждая операция вычисляется слева направо в порядке следования операций. Когда сложение и вычитание выполняются в одном выражении, каждая операция вычисляется слева направо в порядке следования операций.

Скобки можно использовать для переопределения порядка применения и для принудительного вычисления некоторых частей раньше других. Операторы в скобках всегда выполняются перед операторами вне скобок. Однако внутри скобок действие приоритета операторов сохраняется.

Оператор & объединения строк не является арифметическим оператором, но по приоритету он следует всем арифметическим операторам и предшествует всем операторам сравнения.

С точки зрения приоритета оператор Like соответствует всем операторам сравнения, хотя и является оператором сравнения с помощью шаблонов сопоставления.

Оператор Is — это оператор сравнения ссылок на объекты. Он не сравнивает объекты или их значения, он только проверяет, относятся ли две ссылки на объект к одному и тому же объекту.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Приоритет операторов (Transact-SQL)

Если сложное выражение содержит множество операторов, порядок выполнения операций определяется приоритетом операторов. Порядок исполнения может существенно повлиять на результирующее значение.

Уровни приоритета операторов показаны в следующей таблице. Оператор с более высоким уровнем выполняется прежде, чем оператор с более низким уровнем. В следующей таблице самым высоким уровнем является 1, а самым низким — 8.

Уровень Операторы
1 ~ (побитовое НЕ)
2 * (умножение), / (деление), % (остаток деления)
3 + (положительное), — (отрицательное), + (добавление), + (сцепление), — (вычитание), & (битовое И), ^ (битовое эксклюзивное ИЛИ), | (битовое ИЛИ)
4 =, >, =, , !=, !>, ! < (операторы сравнения)
5 Логическое НЕ
6 И
7 ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
8 = (присваивание)

Если два оператора в выражении имеют один и тот же уровень приоритета, они вычисляются в порядке слева направо по мере их появления в выражении. Например, если выражение использует инструкцию SET , то оператор вычитания будет выполнен до оператора сложения.

DECLARE @MyNumber INT; SET @MyNumber = 4 - 2 + 27; -- Evaluates to 2 + 27 which yields an expression result of 29. SELECT @MyNumber; 

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

Например, если выражение использует инструкцию SET , то у оператора умножения более высокий приоритет, чем у оператора сложения. Оператор умножения вычисляется первым, и результатом выражения будет 13 .

DECLARE @MyNumber INT; SET @MyNumber = 2 * 4 + 5; -- Evaluates to 8 + 5 which yields an expression result of 13. SELECT @MyNumber; 

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

DECLARE @MyNumber INT; SET @MyNumber = 2 * (4 + 5); -- Evaluates to 2 * 9 which yields an expression result of 18. SELECT @MyNumber; 

Если в выражении содержатся вложенные скобки, то сначала вычисляется результат наиболее глубоко вложенных скобок. В следующем примере показано использование вложенных скобок, в наиболее глубоко вложенных скобках записано выражение 5 — 3 . Результатом этого выражения будет 2 . После этого оператор сложения ( + ) добавляет этот результат к 4 , чтобы получить значение 6 . Наконец, 6 умножается на 2 , чтобы получить результат выражения 12 .

DECLARE @MyNumber INT; SET @MyNumber = 2 * (4 + (5 - 3) ); -- Evaluates to 2 * (4 + 2) which then evaluates to 2 * 6, and -- yields an expression result of 12. SELECT @MyNumber; 

Приоритеты операторов Python

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

Оператор возведения в степень исключение из этого правила. Из двух операторов ** сначала выполнится правый, а потом левый.

Операторы Описание
() Скобки
** Возведение в степень
+x , -x , ~x Унарные плюс, минус и битовое отрицание
* , / , // , % Умножение, деление, целочисленное деление, остаток от деления
+ , — Сложение и вычитание
> Битовые сдвиги
& Битовое И
^ Битовое исключающее ИЛИ ( XOR )
| Битовое ИЛИ
== , != , > , >= , < , Сравнение, проверка идентичности, проверка вхождения
not Логическое НЕ
and Логическое И
or Логическое ИЛИ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *