Как работает логическое выражение?

F=X*НЕ (Y) +Z+НЕ (X) *Y. Здесь преобразуются 8-разрядные числа в сответствии с выражением. Но я не пойму как? X, Y, Z это три числа? Например, 1, 2, 3, то, что будет в F?
6 года назад от Миша Могильный

1 ответ



0 голосов
тут важно знать учитывается ли приоритет операций, или же их следует выполнять слева-направо по очереди.

Но вобще, если это преобразование восьмиразряных чисел, то операнды и результат - это восьмиразрядные числа. (типа 1, 2, 3)

Операция НЕ X - это побитная инверсия двоичного представления числа. Например если было 01101011b, то НЕ 01101011b = 10010100b

Если выражение логическое, а не математическое, то:
Операция + -это логическое ИЛИ.
Операция * - это логическое И

Приоритет операций по правильному следующий: сначала НЕ, потом И, потом ИЛИ.
Разумется с числами все операции производятся побитно.

Ну а дальше осталось только подставить конкретные значения и посчитать ;)

P. S. Кстати, X*НЕ (Y) + НЕ (X) *Y = (X AND! Y) OR (! X AND Y) = X XOR Y
Потому всё выражение куда удобне можно записать так: F = X XOR Y OR Z
6 года назад от Олег Грушевский

Связанные вопросы

1 ответ
6 года назад от Наталья Решетка