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

时间:2014-03-05 15:41:48

标签: c++ bitwise-xor

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

1 个答案:

答案 0 :(得分:2)

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

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

print simplify((x + z) ^ (y + z))

结果,具有讽刺意味的是:

x + z ^ y + z

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