Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谁能帮我把这个布尔函数简化为两个逻辑门?
C(out) = AC(in) + BC(in) + AB
这个表达式代表了通常所说的三输入多数门——只有当大多数输入为真时输出才为真(对于 3 个输入的情况,2 或 3 个输入必须为真)。一般来说,实现这一点需要 4 个基本逻辑门(如果您仅限于 2 个输入门,则需要 5 个)。
如果你用谷歌搜索“多数门”,你会发现各种各样的实现,例如在这个页面上我发现了以下内容,我认为这符合你的标准(除了只使用 2 个门的不可行要求):
关于具有 n 个布尔变量的多数函数。对于 n 个变量, f(x1,x2,...xn) 将有总共 nC[n/2] 个用于 OR 运算的项。每个术语包含 [n/2] 个用于 AND 运算的变量。
例如:f(00111)= OR{ and(0,0,1) and(0,0,1) and(0,0,1) and(0,1,1) and(,0,1,1)和(0,1,1,)和(0,1,1)和(0,1,1,)和(0,1,1,)和(1,1,1)
=0 OR 0 OR 0 OR...... OR 1=1=多数为真。