是否可以简化(a + b)xor(c + b)? b对最终结果的贡献是什么? 请注意,我将算术运算与布尔代数混合,xor是按位独占的或位于相应的位上,而+是8位上的标准加法,在飞越时会回绕。 a,b,c是无符号字符;简化(a + b)XOR(c + b)
回答
我们可以使用SMT解算器来测试我们的假设,即您的公式可以被简化。您可以前往http://rise4fun.com:
x = BitVec('x', 8)
y = BitVec('y', 8)
z = BitVec('z', 8)
print simplify((x + z)^(y + z))
和结果,anticlimactically是:
x + z^y + z
这意味着你的公式不能进一步简化。
我在这个问题中没有看到任何假设! –
这个结果没有意义'x + z^y + z'。原始和是围绕'x'和'y'对称的,而结果不是。 –
@SalvadorDali:如果您考虑Python运算符优先级(Z3使用的优先级):https://docs.python.org/3/reference/expressions.html#index-77 –
- 1. 简化布尔表达式(a *'b *'c)+('a *'b * c)+('a * b *'c)+(a *'b * c)
- 2. 从{a-b,b-c,c-a}改变为{(a,b),(b,c),(c,a)}?
- 3. 简化ATAN(TAN(A + B))
- 4. PHP变换阵列'a','b','c'到'a/b/c','a/b','a'
- 5. 测试X = A,B或C
- 6. 输入(a + b)** 2,输出a * a + a * b + b * a + b * b
- 7. 是否可以微优化“x = max(a,b); y = min(a,b);??
- 8. 哪些措施来简化这个(A + B)(A +!B)=一
- 9. Python a,b = b,a + b
- 10. 性能的 “X IN(A,B)” 与 “X = A或x = B”
- 11. 逻辑:是(A &&!(B || C))|| (B || C)与(A || B || C)相同?
- 12. Javascript语法:a!= b &&(c = b)
- 13. 为什么var c =“a”|| “b”返回c =“a”和var c =“a”&&“b”返回c =“b”?
- 14. FLOW3 Doctrine2 :: SELECT b,count(b)FROM(SELECT a,b FROM x \ y \ z GROUP BY a)GROUP BY b
- 15. 混合两个矢量:[a a]和[b b] to [a b a b]
- 16. JAVA:String [] name = {'a','b','x'}和String name [] = {'a','b','x'};
- 17. 如何结合指数? (x ** a)** b => x **(a * b)?
- 18. 如何写A :: B :: C => D给定A :: B :: C和(A,B,C)=> D?
- 19. 我想从['a','b','c']将python列表变成['a','a','b',b','c','c']
- 20. 如果A和B是单子,如何将A [B [C]]转换为B [A [C]]?
- 21. 简化正则表达式 “AB | A | B”
- 22. A→B,B→A类协会
- 23. (A && B)与(A和B)
- 24. GROUP BY(A,B)和(B,A)
- 25. 下推自动机(a^x b a^y c a^x + y)
- 26. 列表[[ 'A'],[ 'B']转化为[ '一个', 'B']
- 27. PHP破灭A,B,C和X他人
- 28. C/C++:A(* eval(A(* function)(B),B b))(){...}可能吗? (可能预C++ 11)
- 29. Lapack解决A * X = B'
- 30. Regular grammar - a * b * c *
不太可能,因为异或是纯粹的按位,而加法会影响相邻的位。 –