使用XOR在括号前移出

时间:2011-10-27 10:14:11

标签: c++ boolean-logic multiplication logical-operators boolean-operations

如果我拥有z*a + z*b + z*c + ... + z*y等产品的总和,就可以将z因子移动到括号前z(a + b + c + ... y)。{/ 1}}。{/ 1}}。

如果使用bitwise XOR而不是乘法,我想知道如何(如果是)可以做同样的技巧。 z^a + z^b + ... z^y -> z^(a + b + ... + y)

在添加之前,或许a, b, c ...应该进行预处理,例如逻辑否定或其他内容? z可能会发生变化,因此预处理(如果需要)不应取决于特定的z值。

1 个答案:

答案 0 :(得分:7)

来自Wikipedia

  

Distributivity:没有二元函数,甚至没有自己

所以,不,不幸的是,你不能用XOR做任何事情。