当前位置:首页 > 阅读 > 逻辑门和二进制加法计算器的原理/建造

逻辑门和二进制加法计算器的原理/建造

逻辑门和二进制加法计算器的原理/建造

要建造计算器的话必须要先了解逻辑门,任何复杂的逻辑电路都可以用逻辑门来组成,它们可以执行简单的逻辑运算。Minecraft中可以通过靠红石线被激活的状态来实现逻辑运算和表示二进制的0或1

下面就来说一下逻辑门的种类。如何建造可以参考:

(已经知道的就可以跳过这段)

非门

Minecraft中最容易建造的一种逻辑门,只有一个输入端和一个输出端

输入与输出为相反状态

输入 输出

01

10

非门的两种状态

与门

有两个输入端,可以表示“并且”

只有两个输入端同时为1时输出端才输出1

输入端A输入端B输出

000

111

100

010

与门的四种状态

与非门

和与门基本一致,只不过输出结果与与门相反

输入端A输入端B输出

001

110

101

011

与非门的四种状态

或门

可以表示“或者”

两个输入端只要有一个为1就输出1

输入端A输入端B输出

000

111

101

011

或门的四种状态(错误示范),可以在输入端加上红石中继器(二极管)防止信号流回

或非门

输出结果与或门相反

输入端A输入端B输出

001

110

100

010

或非门的四种状态(又一个错误示范)

异或门

两个输入端输入信号不相同输出1,否则输出0

输入端A输入端B输出

000

110

101

011

异或门的四种状态

同或门

两个输入端同时输入0或1时输出1,否则输出0,和异或门相反

输入端A输入端B输出

001

111

100

010

同或门的四种状态

蕴含非门

只有输入端A为1输入端B为0时才输出1

输入端A输入端B输出

000

110

101

010

蕴含非门的四种状态

原理/建造

提前说一下:这个方法完全是自己琢磨出来的,所以可能很麻烦,而且本人建筑渣,大家懂了原理就行了

因为二进制加法只有四种情况: 0+0=0,0+1=1,1+0=1,1+1=10

列出表格:

加数A加数B个位输出二位输出(进位)

0000

1101

1010

0110

我们发现A B与第一位数的关系和异或门输入与输出的关系相同

输入端A(加数A )输入端B(加数B)输出(个位输出)

000

110

101

011

而进位与与门相同

输入端A(加数A)输入端B(加数B)输出(二位输出)

000

111

100

010

减法也是一样

0 - 0=0,1 - 0=1,1 - 1=0,0 - 1=1(退位)

列出表格:

减数被减数第一位输出是否退位

0000

1100

1011

0110

发现第一位输出也跟异或门相同

输入端A(减数)输入端B(被减数)输出(第一位输出)

000

110

101

011

退位与蕴含非门一致

输入端A (减数) 输入端B(被减数)输出(退位)

000

110

101

010

于是我们可以先造一个用来判断第一位的异或门

然后造一个用来判断加法进位/减法退位的与门/蕴含非门

用来判断减法退位的蕴含非门

然后接上红石灯测试

0 - 0=0(左边为第一位 右边为退位)

1 - 0=1(左边为第一位 右边为退位)

0 - 1=1(加上退位)

想改成加法的话就把蕴含非门改成与门

用来判断进位的与门

0+1=1(左边为第一位 右边为第二位)

1+1=10(左边为第一位 右边为第二位)

如何把进位/退位加/减到下一位?

加法器结构 从左到右分别为第一,第二,第三位

黄线代表第一次计算输出结果

绿线代表最终输出结果

红,蓝线代表判断进位结果

简单来说就是把上一位的进位加到下一位,然后输出,如果有进位的话就再加到下一位。如果还要算更大的数字的话可以多添加几个加法器

减法也是一样,只是把与门变成了蕴含非门,在与上一位的退位(红)和最后一位的结果(黄)相交处添加了一个用来算减法的异或门

减法器结构 从左到右分别是第一,第二,第三,第四位

开始建造

加法器 为了让大家看得清楚把线标了一下

能计算7以内的加法

测试一下

7+6=13

如果你想计算更多的数可以多添加几个加法器单元,想要转换成十进制的话可以配合编码,译码器使用

以上就是(逻辑门和二进制加法计算器的原理/建造)全部内容,收藏起来下次访问不迷路!

86%的人还看了:人物志 程昱