简化(a + b)异或(c + b)

Can*_*o64 6 c++ bitwise-xor

是否有可能简化(a + b)xor(c + b)b对最终结果的贡献是什么?请注意,我将布尔代数与算术混合,xor是按位异或对应的位,+是8位的标准加法,在溢出时包围.a,b,c是unsigned char;

Mic*_*kis 5

我们可以使用 SMT 求解器来测试我们的假设,即您的公式可以简化。您可以前往http://rise4fun.com

x = BitVec('x', 8)
y = BitVec('y', 8)
z = BitVec('z', 8)

print simplify((x + z) ^ (y + z))
Run Code Online (Sandbox Code Playgroud)

结果,虎头蛇尾,是:

x + z ^ y + z
Run Code Online (Sandbox Code Playgroud)

这意味着您的公式无法进一步简化。