📜  门| GATE CS 2021 |设置1 |第60章(1)

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

门 | GATE CS 2021 |设置1 |第60章

本文是GATE计算机科学2021年设置1中的第60章,涵盖了与门、与非门、或门、异或门、非门、多路选择器和多路多个选择器的各种概念和操作。

与门

与门是一种包含两个或多个输入和一个输出的逻辑门。它只在所有输入都为“1”时输出“1”,否则输出“0”。其真值表如下所示:

| 输入1 | 输入2 | 输出 | | :---: | :---: | :--: | | 0 | 0 | 0 | | 0 | 1 | 0 | | 1 | 0 | 0 | | 1 | 1 | 1 |

与门可以用以下代码片段表示:

if input1 == 1 and input2 == 1:
    output = 1
else:
    output = 0
与非门

与非门是一种包含两个或多个输入和一个输出的逻辑门。与门的输出被反转,即输出为“0”当且仅当所有输入都为“1”,否则输出“1”。其真值表如下所示:

| 输入1 | 输入2 | 输出 | | :---: | :---: | :--: | | 0 | 0 | 1 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 |

与非门可以用以下代码片段表示:

if input1 == 1 and input2 == 1:
    output = 0
else:
    output = 1
或门

或门是一种包含两个或多个输入和一个输出的逻辑门。它只要有一个或多个输入为“1”时输出“1”,否则输出“0”。其真值表如下所示:

| 输入1 | 输入2 | 输出 | | :---: | :---: | :--: | | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |

或门可以用以下代码片段表示:

if input1 == 1 or input2 == 1:
    output = 1
else:
    output = 0
异或门

异或门是一种包含两个或多个输入和一个输出的逻辑门。它在每个输入中仅有一个为“1”时输出“1”,否则输出“0”。其真值表如下所示:

| 输入1 | 输入2 | 输出 | | :---: | :---: | :--: | | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 |

异或门可以用以下代码片段表示:

if input1 != input2:
    output = 1
else:
    output = 0
非门

非门是一种包含一个输入和一个输出的逻辑门。它只有一个输入,当输入为“0”时输出为“1”,反之亦然。其真值表如下所示:

| 输入 | 输出 | | :--: | :--: | | 0 | 1 | | 1 | 0 |

非门可以用以下代码片段表示:

if input == 0:
    output = 1
else:
    output = 0
多路选择器

多路选择器是一种包含一个或多个控制输入和多个数据输入的逻辑门,它可以根据控制输入的值选择一个特定的数据输入作为输出。最常见的是2:1多路选择器,它有两个输入和一个选择输入,选择输入的值为“0”时将输出第一个数据输入,否则输出第二个数据输入。其真值表如下所示:

| 选择输入 | 数据输入1 | 数据输入2 | 输出 | | :------: | :-------: | :-------: | :--: | | 0 | 0 | 1 | 0 | | 1 | 0 | 1 | 1 |

2:1多路选择器可以用以下代码片段表示:

if selection_input == 0:
    output = data_input1
else:
    output = data_input2
多路多个选择器

多路多个选择器是一种具有多个控制输入和多个数据输入的逻辑门,它可以根据控制输入的值选择一个特定的数据输入作为输出。它可以由多个多路选择器组成,其中每个多路选择器的输出都是下一个多路选择器的控制输入。例如,4:1多路多个选择器可以由两个2:1多路选择器组成,如下所示:

output = [0]*4  # 输出数组初始化全为0

# 第一个2:1多路选择器
if selection_input1 == 0:
    output[0] = data_input1
else:
    output[0] = data_input2

# 第二个2:1多路选择器
if selection_input2 == 0:
    output[1] = data_input3
else:
    output[1] = data_input4

# 4:1多路多个选择器
if selection_input3 == 0:
    final_output = output[0]
else:
    final_output = output[1]

以上就是关于与门、与非门、或门、异或门、非门、多路选择器和多路多个选择器的详细介绍和示例代码。