Здравствуйте, LiIon, Вы писали:
LI>Помогите чайнику! LI>Нужно выразить основные булевые функции(and, or, xor, not) через арифметические действия.
Если true = 1, а false = 0 то:
a and b = min(a, b)
a or b = max(a, b)
not a = 1 — a
xor соответственно выражаешь через эти три
С другой стороны если пользоваться булевой алгеброй, то x + x = 0, x*x = x и воспользовавшись правилом разложения булевой функции в булевый многочлен получаем:
not x = x + 1
x1 xor x2 = x1 + x2
x1 or x2 = x1*x2+x1+x2
x1 and x2 = x1*x2