Logic 三个开关,一个灯

Logic 三个开关,一个灯,logic,state,xor,circuit-diagram,Logic,State,Xor,Circuit Diagram,我不是100%确定堆栈溢出是发布此消息的正确交换;如果不是,请告诉我 我有三个开关,都对应一盏灯。当任何一个开关被翻转时,灯应该从ON变为OFF或OFF变为ON。对于这个实现,我只允许使用XOR门 绘制真值表后,很明显,只有当其中一个开关处于向上位置或所有三个开关处于向上位置时,指示灯才处于打开状态。当所有三个开关处于向下位置时,指示灯最初处于关闭状态。通过简单地对每对开关进行3对异或运算,我就可以推断出一个开关打开时的新状态。但是,我不确定如何区分灯亮时对应的三个向上位置的开关和三个向下位置的

我不是100%确定堆栈溢出是发布此消息的正确交换;如果不是,请告诉我

我有三个开关,都对应一盏灯。当任何一个开关被翻转时,灯应该从ON变为OFF或OFF变为ON。对于这个实现,我只允许使用XOR门

绘制真值表后,很明显,只有当其中一个开关处于向上位置或所有三个开关处于向上位置时,指示灯才处于打开状态。当所有三个开关处于向下位置时,指示灯最初处于关闭状态。通过简单地对每对开关进行3对异或运算,我就可以推断出一个开关打开时的新状态。但是,我不确定如何区分灯亮时对应的三个向上位置的开关和三个向下位置的开关。据我所知,用异或门创建与门是不可能的,所以我被困在这里


非常感谢您的帮助

假设这三个开关是A、B和C:你可以试试XOR B XOR C。

我相信这会是一个更好的地方,因为它是硬件,而不是软件。哇,这比我想象的要容易得多。。谢谢