Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
注册
Advertisement
此条目的内容需要改进。

这些内容因翻译质量较低而违反或未达到条目标准
你可以帮助我们来改进此条目。

本教程将向你展示如何使用红石在Minecraft中制作计算器。

总述[]

下述图片为一台已经完成的计算器:

Calculator plan

实际样式

Calcplan

设计架构

当然,所有的信息都被编译为二进制,这也就是为什么有如此多的解码器。

现有组件[]

这篇文章会尽量使用一些逻辑顺序来描述组成零件。

控制面板(室)[]

控制面板是你设置输入和下达指令的地方。

数字输入面板[]

Input panel

数字输入面板

你需要在这里选取所需数字。这张图片是一种基于拉杆的二进制输入面板,你必须预先将该数字化为二进制。

计算面板[]

这里用户要选取所用计算:加(+),减(-),乘(*),除(/)。图示亦使用拉杆系统。

Operation Panel

计算面板

输入端线 (白色和橙色)[]

这些红石线从输入面板、计算面板连接到不同的逻辑运算单元。要试着改变信号的排列顺序,让相同的值合在一处。所以,电线应该像这样,从左到右:A1;B1;A2;B2;A4;B4……

逻辑运算单元[]

这是执行指令的机器。

加法器/减法器(黄色和红色)[]

注:在这个架构中,减法器和加法器是分开的。目前解决方案戳这里(妥善处理补码)

图示是一种加法器/减法器。它的结构很简单,因为它是模块化的,即由许多相同的部件组成。也就是说,如果你使用更多的字节,可以只在旁边添加更多的模块,但也要变一些连接点。

Adder substracter

二合一加法器/减法器

在这台机器上,二进制输入会进入底部黄色的全加器。每个加法器都需要两个相同的输入值(A和B)。而且,最低的数位要在左边,这样就可以按进位关系进行连接。信息一般以白色和橙色部分中,电线的形式输入。为避免输入线路与其他线路连在一起,可以架一座基础的桥。

A输入(左边)是被减数,会被直接传到加法器。B输入是减数,它必须通过一个多路转接器。这是由异或门组成的一个组件,可以在减法时给加法器一个反相信号。多路转接器由一个开关控制(图中开关在最左边)。加和结果会进入另一个多路转接器,它同样会在减法的情况下给出一个反相输入。这是由一个蕴含门(在右上方)控制的,当开关处于“减法”状态且上一个进位为1时,则该逻辑门的输出也会为1。这是有必要的,因为在一个减法中,最后的进位实际上是“-”(减号)标志。
白色的机器是半加器,作为上一个的加法器的进位和各自的全加器的总和。我们需要这个,因为如果答案是负数,它使用方程”-A = !A (A的取反)+ 1”,参见减法器。最后的输出可以在最上方的红石线观察到,再加上最右边的红石线(从最后的全加器进位)和第一个(左边)半加器的进位(表示负号)。

乘法器 (浅蓝色)[]

让我们从基本知识开始,因为这是最复杂的地方。你应该要知道,乘法只是一个重复的加法。那即是,我们会在这里再次使用加法器。在开始之前,你需要先建造一个与门。它的用途十分简单:在二进制的乘法中,我们只会使用0和1,我们可以输出1的唯一方法是将1乘以1。
现在,将按由低位到高位的顺序,构建乘法器。
最低位: 1 × 1 = 1, 表示这个与门的输出直接传到输出红石线的区域。
倒数第二位: 1 × 2 = 2和2 × 1 = 2,代表需要两个与门。 这两个与门的输出会进入全加器。求出的和会进入输出,进位则会进入下一位。
下一位: 1 × 4 = 4,2 × 2 = 4和4 × 1 = 4。 来自上一位的进位进入第一个全加器,作为进位输入。这个全加器的另外两个正常的输入端是这三个与门中的两个。第一个全加器的和会进入第二个全加器,而这个全加器的第二个输入则是第三个与门。这两个全加器的进位输出会进入下一个全加器,同样它们的和会进入输出。
你可以用这种方式一直继续,直到你运行完所有的与门,或者说是算式。

除法器(粉红色)[]

这个很容易和乘法器比较。我们将会继续使用全加器。基本上,每个A输入端, 会设置n个加法器,n=B输入端的数量。还有,这一次你需要“将它们反相”。现在最高有效位应将进位向下传递。

输出线[]

此线必须接收到从每一个机器发出的每一条输出信号,并且将他们重定向到另一部分。

二进制-十进制解码器[]

这个部件会把二进制转换成十进制输出。它的尺寸会是(二进制输入 × 2)× 十进制输出。
它用于一个“可编程的”异或门,尽管更倾向于一个多入非门。这样会激活一行红石火把输出正确答案。

参见[]

语言

Advertisement