сложная логическая операция - PullRequest
1 голос
/ 14 августа 2011

С учетом этой логической операции:

(А И В) ИЛИ (С И Д)

Есть ли способ написать подобное выражение, не используя скобок и не дав результат? Допускается использование логических операторов AND, OR, NOT.

Ответы [ 4 ]

4 голосов
/ 14 августа 2011

Да:

A and B or C and D

В большинстве языков программирования and имеет более высокий приоритет, чем or (это вытекает из эквивалентности and и or до *и +, соответственно).

Конечно, если ваше первоначальное выражение было:

(A or B) and (C or D)

, вы не могли бы просто удалить скобки.В этом случае вам придется «умножить» коэффициенты:

A and C or B and C or A and D or B and D
1 голос
/ 14 августа 2011

Как насчет A AND B OR C AND D?Это то же самое, потому что AND имеет приоритет над OR.

0 голосов
/ 01 апреля 2018

Это можно записать двумя способами

  1. A & B | C & D
  2. Введите, как упоминалось в вопросе, просто удалите скобки, он покажет тот же результат.

Мы можем использовать & для AND для умножения и | для OR для деления. Также просто вы можете написать их без скобок

0 голосов
/ 14 августа 2011

Только не ставьте никаких скобок, это то же самое ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...