a1a*_*1a1 1 algorithm bit-manipulation
有没有办法找到逻辑门或如何从想要的真值表中制作更复杂的门/位运算符我希望有这个真值表:
0 0 = 1
0 1 = 1
1 0 = 0
1 1 = 1
如果您从表格中看不到它,有一种正式的方法可以做到这一点。写出sum of products
表格的表达式。
如果0 0 = 1
,则表达式中包含 A'B'。
如果0 1 = 1
,则 A'B 在表达式中。
如果1 1 = 1
,则表达式中包含 AB。
那么,F = A'B' + A'B + AB
现在,简化表达式:
F = A'B' + A'B + AB
F = A'(B'+B) + AB Distribution Law
F = A'(1) + AB Complement Law
F = A' + AB Identity Law
F = A'(B + 1) + AB Annulment Law
F = A'B + A' + AB Distribution Law
F = (A' + A)B + A' Distribution Law
F = (1)B + A' Complement Law
F = B + A' Identity Law
Run Code Online (Sandbox Code Playgroud)
这是not(A) or B
。
你必须使用一个not
门和一个or
门。
negated
正如评论中指出的,您可以从函数的版本中得出。
如果1 0 = 0
,则 F' = AB'
简单地说,F = not(A and not(B))
。如果您分发not
,那么它将对应于与上面相同的布尔表达式。
感谢评论指出了更短的方法。