实现2:4多路复用器的Python程序
先决条件:数字逻辑中的多路复用器
介绍 :
它是一个组合电路,根据控制或选择输入,具有多个数据输入和单个输出。对于 N 输入线,log n (base2) 选择线,或者我们可以说对于 2n 条输入线,需要 n 条选择线。多路复用器也称为“数据n选择器、并串转换器、多对一电路、通用逻辑电路”。多路复用器主要用于增加可以在一定时间和带宽内通过网络发送的数据量。
在这里,如果我们有四个输入,如上所述,我们将有 log 4(base 2)=2 input lines 。因此,对于多路复用器选择 S0 和 S1 的每个唯一值,我们将选择一条输入线并将其作为输出。下面给出的真值表解释了输入端口的选择。
一般 S0S1 的十进制值给出选择端口。我们得到了 s[ ](选择器)和 I[ ](输入),我们的任务是根据选择器选择输入端口并将该端口中的值打印为输出。
对于二进制到十进制转换,请参阅 - 二进制到十进制转换
例子 -
Input : I[ ]={0,1,1,1]
s[ ]={1,0}
Output : 1
Explanation : Here s[0]=1,s[1]=0, so its decimal value will be (1*(2**1))+(0*(2**0))=2. so we have to output the value given at pin I2. That is I[2]=1 so the output is 1.
Input : I[ ]={1,1,1,0}
s[ ]={1,1}
Output : 0
Explanation : Here s[0]=1,s[1]=1, so its decimal value will be (1*(2**1))+(1*(2**0))=3. so we have to output the value given at input I3. That is I[3]=0 so the output is 0.
Input : I[ ]={0,1,1,0}
s[ ]={0,1}
Output : 1
Explanation : Here s[0]=0,s[1]=1, so its decimal value will be (0*(2**1))+(1*(2**0))=1. so we have to output the value given at input I1. That is I[1]=1 so the output is 1.
方法 :
- 在这里,我们必须将选择器转换为十进制值。
- 所以要将选择器行转换为十进制数,我们应该乘以 (s[0]*(2**1))+(s[1]*(2**0))。
- 从 I[ ] 输入数组中获取十进制值的索引会给出输出。
Python
# python program to implement multiplexer
# Function to print output
def Multiplexer(I,s):
#decimal value of s
d= (s[0] * 2) + (s[1] * 1)
# getting the output of decimal value from inputs
b = I[d];
#print the output
print(b)
# Driver code
I=[1,0,1,0]
s=[1,0]
#passing I and s to function
Multiplexer(I,s)