有一个难题是创建一个等效的比特&只有|和〜运算符。
我一直在做|的强力组合和〜使用6(0110)和5(0101)试图获得4(0100),但我仍然无法得到答案。
可以使用的最大操作数为8.
有人可以给我提示吗?
答案 0 :(得分:4)
这里有什么帮助De Morgan's Law,基本上说:
~(a & b) == ~a | ~b
因此我们可以否定这一点并得到:
a & b == ~(~a | ~b) //4 operations
查看真值表(事实上,上帝保佑二进制逻辑的简单性,只有四种可能的输入组合来生成适当的输出)我们可以看到两者都是等价的(最后两列):
a | b | ~a | ~b | ~a OR ~b | ~(~a OR ~b) | a AND b
--|---|----|----|----------|-------------|--------
0 | 0 | 1 | 1 | 1 | 0 | 0
1 | 0 | 0 | 1 | 1 | 0 | 0
0 | 1 | 1 | 0 | 1 | 0 | 0
1 | 1 | 0 | 0 | 0 | 1 | 1
答案 1 :(得分:0)
真相表时间......
A B A&B !A !B !A|!B !(!A|!B)
0 0 0 1 1 1 0
0 1 0 1 0 1 0
1 0 0 0 1 1 0
1 1 1 0 0 0 1