使用XOR在括号前移出

12 c++ boolean-logic multiplication logical-operators boolean-operations

如果我有这样的产品总和z*a + z*b + z*c + ... + z*y,就可以z在括号之前移动因子,这是相同的:z(a + b + c + ... y).

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

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

Lee*_*ton 8

来自维基百科:

分配:没有二元函数,甚至没有自身

所以,不,不幸的是,你不能用XOR做那样的事情.