推荐答案
测试一下
题目
以下逻辑(A,B,D)能实现:输入三个1bitA,B,C变量,若其中两个以上变量为1,则输出1:
A、x=(A&B)|(B&C)|(C&A)
B、x=(~A&B|~B&A)^C
C、x=(~A&B|~B&A)?C:A
D、x=(~A&B|~B&A)?C:B
参考答案与知识点
参考答案
我们分析题目:要求实现"输入三个1bit A, B, C变量,若其中两个以上变量为1,则输出1"。即多数表决电路,输出为1当且仅当至少两个输入为1。
选项A:x = (A&B) | (B&C) | (C&A) —— 这是标准的两两与再或,正确。
选项B:x = (~A&B | ~B&A) ^ C —— 先看~A&B | ~B&A 是A和B的异或(即A^B)。然后与C异或: (A^B)^C = A^B^C。这是三个输入的奇偶校验,输出为1当奇数个1,而不是至少两个。所以错误。
选项C:x = (~A&B | ~B&A) ? C : A —— 条件选择器。条件为(~A&B|~B&A)即A^B。若A^B为真(即A和B不同),则输出C;否则输出A。即:当A=B时输出A(此时A=B,输出等于A=B),当A≠B时输出C。分析真值表:A=0,B=0时输出A=0;A=0,B=1时输出C;A=1,B=0时输出C;A=1,B=1时输出A=1。我们需要输出为1当至少两个1。列举所有情况:(0,0,0)->0 (0,0,1)->0 (0,1,0)->C=0 (0,1,1)->C=1 (1,0,0)->C=0 (1,0,1)->C=1 (1,1,0)->A=1 (1,1,1)->A=1。对比:正确输出应为 (0,0,0):0; (0,0,1):0; (0,1,0):0; (0,1,1):1; (1,0,0):0; (1,0,1):1; (1,1,0):1; (1,1,1):1。发现对于(0,1,0)输出C=0正确,但(1,0,0)输出C=0正确;其余都匹配。因此C似乎也正确?但检查(0,1,1)输出C=1正确;(1,0,1)输出C=1正确;(1,1,0)输出A=1正确;(1,1,1)输出A=1正确。所以C是正确的?但是题目说"以下逻辑(A,B,D)能实现",意思是只有A、B、D中的哪一个或哪些?实际上题目描述:"以下逻辑(A,B,D)能实现:" 可能是指选项A、B、D三个?但选项C也在其中。通常这种单选题,可能题目是问"以下哪个逻辑能实现",然后给出四个选项。这里题目正文写"以下逻辑(A,B,D)能实现",可能是笔误,或者是指"A、B、D"是选项的标识?但后面有C选项。更合理理解是:题目列出四个选项A、B、C、D,其中A、B、D是选项,C是笔误?但C明确写了。或者这个"(A,B,D)"是指A、B、D三个选项?但C也在。实际上常见题型是问"以下逻辑能实现的是",然后四个选项。
仔细看:题目标题是"以下逻辑(A,B,D)能实现:",可能是个错误。我们假设四选项,需要选出正确的一个或多个。但问题是单选题,我们需给出参考答案。根据分析,A和C都正确吗?但C选项条件是A^B?C:A,我们推导正确。再验证一遍真值表:A=0,B=0 -> 条件假,输出A=0;A=0,B=1 -> 条件真,输出C;A=1,B=0 -> 条件真,输出C;A=1,B=1 -> 条件假,输出A=1。所以输出函数为:F = (A==B)? A : C。即如果A=B,则输出A(即A=B的值),否则输出C。写为F = (A&B) | (~A&~B&C)?实际上可以化简。当A=B=0时F=0;A=B=1时F=1;A≠B时F=C。所以当A=0,B=1时F=C;当A=1,B=0时F=C。考虑所有组合:当两个以上为1的情况:(0,1,1): A≠B,C=1 =>F=1; (1,0,1): A≠B, C=1=>1; (1,1,0): A=B=1, F=1; (1,1,1): A=B=1, F=1。当只有一个1的情况:(0,0,1): A=B=0, F=0; (0,1,0): A≠B, C=0=>0; (1,0,0): A≠B, C=0=>0。全0:0。所以确实实现了多数表决。因此C也正确。
选项D:x = (~A&B | ~B&A) ? C : B。与C类似,但条件真时输出C,假时输出B。即当A≠B时输出C,A=B时输出B。分析:A=B=0时输出B=0;A=B=1时输出B=1;A=0,B=1时输出C;A=1,B=0时输出C。对于(0,1,0):输出C=0正确;对于(0,1,1):输出C=1正确;对于(1,0,0):输出C=0正确;对于(1,0,1):输出C=1正确;对于(1,1,0):输出B=1正确;对于(1,1,1):输出B=1正确;(0,0,0):0; (0,0,1):0。所以D也正确!
这样A、C、D都正确?但是题目说是单选题,可能我推错了。检查C和D的区别:在A=B时,C输出A,D输出B。由于A=B,所以输出相同。因此C和D等价。因为当A=B时,A和B相等
涉及知识点
- IC 基础
- 数字电路
- 设计与验证