【问题标题】:Complex logic gate?复杂的逻辑门?
【发布时间】:2017-05-13 22:59:01
【问题描述】:

所以我制作了一个 Python 模块,它添加了所有七个逻辑门(NOT、OR、AND、NAND、NOR、XOR、XNOR。)

请注意,它看起来不像

a AND b

它看起来像

And(a, b)

在我正在尝试制作的程序中,我需要一个具有三个输入的逻辑门:A、B 和 C。门应该返回任何 A 是 如果 C 为假。但是,如果 C 为真,它应该返回 B 是什么。 A 和 B 是否相同没关系。我不想使用实际的 if。

【问题讨论】:

  • 你描述的是一位多路复用器(MUX),其中C是选择(SEL)。目前还不清楚你到底在问我们什么。
  • 您是否正在尝试从您拥有的门中组成您想要的门?

标签: python boolean logic boolean-logic


【解决方案1】:

这是你要找的吗?

def MUX(A, B, C):
    return B if C else A

【讨论】:

    【解决方案2】:

    你想要这个:

    这里有 SEL 的 C 瞬间。输出是您的 MULTIPLEXER 返回

    在python中是这样

    def MULTIPLEXER(A,B,C):
       if(C):
          return B
       else:
          return A
    

    【讨论】:

      【解决方案3】:

      如果您尝试从您定义的逻辑门创建多路复用器门,这里有一篇关于该主题的精彩文章:http://improve.dk/creating-multiplexers-using-logic-gates/

      基本上,你这样做:

      def MUX(A, B, C):
          return OR(AND(A, C), AND(B, NOT(C)))
      

      在 Python 表示法中,这看起来像 (A & C) | (B & ~C)

      如果CTrue,则结果是A。如果CFalse,则结果是B

      【讨论】:

      • 天哪,我感激不尽!这将完全帮助我!
      • 很高兴听到它
      猜你喜欢
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多