用 Minecraft 学会逻辑门
逻辑门是数字系统的主要结构部分,也是学习计算机组成原理必须知道的基础知识。今天我们就用我的世界(Minecraft)Java版来讲一讲逻辑门电路,所需材料就是相应数量的红石、红石比较器、红石中继器、红石火把、红石块、拉杆(当开关使用)和红石灯(便于看清输入和输出信号)。逻辑门是一个硬件模块,当满足输入逻辑要求时,该模块会生成二进制 0
或 1
的信号。每个门都有一个不同的图形符号。接下来我们使用 Minecraft(Java版)讲讲如何构造七个基本逻辑门,它们分别是:与门(AND)
、或门(OR)
、非门(NOT)
、与非门(NAND)
、或非门(NOR)
、异或门(XOR)
、同或门(XNOR)
。
与门(AND)
与门有两个输入端,只有两个输入端同时为 1
时,输出端才能输出 1
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
第一种情况:两个输入端同时为 0
,输出端输出为 0
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 0
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 0
。
第四种情况:两个输入端同时为 1
,输出端输出为 1
。
或门(OR)
或门有两个输入端,只要有一个输入端为 1
时,输出端就能输出 1
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
第一种情况:两个输入端同时为 0
,输出端输出为 0
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 1
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 1
。
第四种情况:两个输入端同时为 1
,输出端输出为 1
。
非门(NOT)
非门只有一个输入端,输入端为 1
时,输出端就输出 0
;输入端为 0
时,输出端就输出 1
。
输入 | 输出 |
---|---|
0 | 1 |
1 | 0 |
第一种情况:输入端为 0
,输出端输出为 1
。
第二种情况:输入端为 1
,输出端输出为 0
。
与非门(NAND)
与非门有两个输入端,只有当两个输入端都为 1
时,输出端才输出 0
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
第一种情况:两个输入端同时为 0
,输出端输出为 1
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 1
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 1
。
第四种情况:两个输入端同时为 1
,输出端输出为 0
。
或非门(NOR)
或非门有两个输入端,只有当两个输入端都为 0
时,输出端才输出 1
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
第一种情况:两个输入端同时为 0
,输出端输出为 1
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 0
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 0
。
第四种情况:两个输入端同时为 1
,输出端输出为 0
。
异或门(XOR)
异或门有两个输入端,只有当两个输入端的输入不相同时,输出端才能输出 1
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
第一种情况:两个输入端同时为 0
,输出端输出为 0
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 1
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 1
。
第四种情况:两个输入端同时为 1
,输出端输出为 0
。
同或门(XNOR)
同或门有两个输入端,只有当两个输入端输入相同时,输出端才能输出 1
。
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
第一种情况:两个输入端同时为 0
,输出端输出为 1
。
第二种情况:输入端1输入为 0
,输入端2输入为 1
,输出端输出为 0
。
第三种情况:输入端1输入为 1
,输入端2输入为 0
,输出端输出为 0
。
第四种情况:两个输入端同时为 1
,输出端输出为 1
。
以上逻辑门电路总结
与门(AND)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
或门(OR)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
非门(NOT)
输入 | 输出 |
---|---|
0 | 1 |
1 | 0 |
与非门(NAND)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
或非门(NOR)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
异或门(XOR)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
同或门(XNOR)
输入端1 | 输入端2 | 输出 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |