📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年 12 月 – III |问题 34(1)

📅  最后修改于: 2023-12-03 15:39:54.263000             🧑  作者: Mango

UGC NET CS 2015 年 12 月 – III |问题 34

该问题涉及数字逻辑电路中的多路复用器和解多路复用器。下面是一个简单的介绍。

多路复用器

多路复用器是一种电路,可将多个输入信号转换为单个输出信号。它由一个选择输入和多个数据输入组成。选择输入用于控制哪个数据输入将被传输到输出。多路复用器的输出被称为多路复用输出。

下面是一个简单的二输入四路复用器的真值表:

| S1 | S0 | D0 | D1 | D2 | D3 | Y | |----|----|----|----|----|----|---| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | 0 | 0 | 1 | | 1 | 1 | 0 | 1 | 0 | 0 | 1 |

解多路复用器

解多路复用器与多路复用器相反。它将单个输入信号转换为多个输出信号。它也由一个选择输入和多个数据输出组成。选择输入用于控制哪个数据输出将被传输。解多路复用器的输入被称为解多路复用器输入。

下面是一个简单的一路解多路复用器的真值表:

| S | Y0 | Y1 | |---|----|----| | 0 | 1 | 0 | | 1 | 0 | 1 |

代码实现

以下是简单的代码,它实现了一个四输入二路复用器和一个解二路复用器。

#### 多路复用器
public class Multiplexer {
    public boolean output(boolean s1, boolean s0, boolean d0, boolean d1, boolean d2, boolean d3) {
        boolean[] inputs = {d0, d1, d2, d3};
        return inputs[(s1 ? 2 : 0) + (s0 ? 1 : 0)];
    }
}

#### 解多路复用器
public class Demultiplexer {
    public boolean[] output(boolean s, boolean d) {
        return new boolean[]{s ? false : d, s ? d : false};
    }
}

这些是非常简单的实现。在实际应用中,多路复用器和解多路复用器被用于各种电子设备,例如计算机内存。