这里有一个难题,那就是如何创建一个等价的逐位运算&只使用|和~运算符。
我一直在使用6 (0110)和5 (0101)进行|和~的强力组合,试图得到4 (0100),但我仍然无法得到答案。
最多可使用8次操作。
有没有人能给我点提示?
发布于 2013-05-13 06:13:39
这里对你有帮助的是,它基本上是这样的:
~(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发布于 2013-05-13 06:19:42
真值表时间..。
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 1https://stackoverflow.com/questions/16512504
复制相似问题