Hero Circle Shape
Hero Moon Shape
Hero Right Shape
bitpie.apk|《图灵完备》游戏攻略第二章:算术运算和存储器 - 区块链网

bitpie.apk|《图灵完备》游戏攻略第二章:算术运算和存储器 - 区块链网

  • 作者: bitpie.apk|《图灵完备》游戏攻略第二章:算术运算和存储器 - 区块链网
  • 2024-04-10 14:12:15
《图灵完备 Turing Complete》游戏攻略保姆级详解。

第二章:算术运算和存储器

前言

我们进入了第二章:算术运算和存储器。在第二章中,我们将会有两条支路,我们要研究算术运算和存储器,最后会制作出逻辑引擎、“小盒子”、计数器等。

二进制速算

在开始之前,我们先复习一下学过的逻辑门:
汉语 英语 性质
与门 AND 全绿就绿
或门 OR 有绿就绿
非门 NOT 就是叛逆
或非门 NOR 全红就绿
与非门 NAND 全绿就红
同或门 XNOR 不同就红
异或门 XOR 不同就绿
关卡解析

这一关和其他关卡不太一样,它更像是一个小游戏。你需要在玩这个小游戏的过程中,理解二进制的几个特点。这个小游戏并不难,你可以先自己玩,再听我来解析。具体玩法就是用下面的数字拼出来他给的数字。

这关貌似有个BUG,它说必须通关3级,实际上必须把5级都玩完。

二进制

我们生活中有很多种进制,例如最常用的十进制,表达色彩用的十六进制,表达时间用的六十进制,计算机底层使用的二进制等等。我们先来说说进制是什么。 从十进制说起,顾名思义就是逢10进1,例如:0-1-2-3-4-5-6-7-8-9,这时候就不能继续数了,要进1位,即:10-11-12-13-... 。我们可以看出,在十进制中,其实是没有“十”这个数字的,所谓的“10”,其实只是进了一位,是由“1”和“0”拼起来的。 我们再看看十六进制,十六进制在数到9之后是可以不进位继续数的,例如:0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F,数到F就不能继续数了,需要进行进位,即:A1-A2-A3-A4-...,接下来一直数到FF,就需要再进位一次,变成:AA1-AA2-... 。 也就是说,是几进制,这个数字就不存在,数到这个数字的前一位就不能数了。如果要继续往下数,就得进位。 现在我们再来看二进制,2-1=1,也就是说,二进制在数到1的时候就不能往下数了,必须要进位。所以,它是这样数数的:0-1-10-11-100-101-110-111-1000-... 。二进制就是即逢2进1,2不存在,是由“1”和“0”拼起来的。请确保你理解了二进制是什么。

位权

说了这么多,这个关卡到底需要我们明白什么?我们还需要引入新的概念——位权。

位权=基数位数-1

其中,几进制基数就是几。在二进制中,可以这样书写:

位权=2位数-1

假设我们现在有一个8位的二进制数10101010,那么根据公式计算,可得它每一位的位权分别是:128、64、32、16、8、4、2、1。你有没有发现,这和本关下方的按钮是一样的?

现在,我来举几个例子,你对照上图,就能发现其中的奥妙:
  • 二进制100转化为十进制是多少?是4
  • 二进制10000转化为十进制是多少?是16
  • 二进制10100转化为十进制是多少?是4+16=20
还不懂?我再举几个:
  • 二进制10转化为十进制是多少?是2
  • 二进制111000转化为十进制是多少?是32+16+8=56
  • 二进制10010101转化为十进制是多少?是128+16+4+1=149
  • 二进制11111111转化为十进制是多少?是128+64+32+16+8+4+2+1=255
明白了吗?这对进制转换有很大的帮助。现在你可以尝试以这种思路,再次游玩本关卡。

成对的麻烦

关卡解析

我们输入已经拓展到了4个。现在来观察真值表,找到规律。

规律就是:“当有≥2个绿,输出绿”这关的解决方法也比较简单。首先把四个输入端两两接入与门检测,根据我们小学就学过的排列组合,4个输入端的排列方式有:
  • (1,2), (1,3), (1,4),
  • (2,3), (2,4),
  • (3,4)

共6种组合方式,因此我们需要用到6个与门:

将它门按照我们策划过的排列组合进行连接:

然后将这些结果使用或门连接,我们可以使用2个三路或门+1个或门:

本关最终答案 这样就完成了,但是不知道有没有更好的方法。

奇数个信号

关卡解析 本关要求我们使用3个元件,实现“输入绿为奇数个,就输出绿”。

首先我们要先看到问题的本质,假设我们现在只有两个输入端口,那么我们如果想判断是否是奇数个为绿,其实我们判断的就是这两个输入是不是一个绿一个红。那么什么逻辑门是能解决这个问题的呢?是异或门。

这种情况下,“判断输入是否不同”==“判断绿色是不是奇数个”。当我们的输入数拓展到4个,其实问题也是如此。我们只需要先判断两个,然后判断后两个,再把这两个判断结果放在一起判断即可。

本关最终答案

循环依赖

循环依赖

循环依赖是指一个或多个对象之间存在直接或间接的依赖关系,这种依赖关系构成一个环形调用,有下面 3 种方式。

图片来源于 https://www.elecfans.com/d/1891334.html 在本游戏中,至少目前,循环依赖是被禁止的。在某些电路中,循环依赖是被允许的。目前你不需要知道哪些电路是被允许的。

关卡解析

我们构建一个受自身影响的电路即可。也就是说,一个元件的输出连接到自身的输入上,例如:

本关最终答案

其实此结构也可以满足测试2的要求:

信号计数

关卡解析 如果你还没有学习二进制相关知识,可以在目录里查找学习。 本关较为复杂,用到了很多之前的知识,我们需要一点点思考,解决问题。

请务必先理解本关的目标:

我们的输出端一共有3个引脚,分别是1、2、4。这3个引脚是怎么运作的呢?是这样的:
  • 第一个被点亮了结果就+1
  • 第二个被点亮了结果就+2
  • 第三个被点亮了结果就+4
也就是说:
  • 输入端亮了1个→让输出端的第一个亮
  • 输入端亮了2个→让输出端的第二个亮
  • 输入端亮了4个→让输出端的第三个亮
也许你会问:“那如果亮了三个,该怎么办?”,其实这就是我们这关需要解决的最大问题。我们不妨先把前三种情况做出来,先忘掉亮了三个这种情况。 先解决第一个:如何判断输入端是否有1个绿?因为输入端有几个绿只有四种情况,即1个、2个、3个、4个。而且“3个”这种情况先被我们刨除在外了,就只剩下1个、2个、4个这三种情况。在剩下的三种情况中,显然只有“1个”是奇数,而“2个”和“4个”都是偶数,所以“1个”是最好确定的。 还记得我们之前有一关叫什么名字吗?“奇数个信号”,我们是学习过如何判断奇数个信号的:
  • 这种情况下,“判断输入是否不同”==“判断绿色是不是奇数个”

我们可以直接沿用“奇数个信号”的电路:

观察真值表,我们可以发现,所有预期输出1的地方,全都正确了。 现在我们来考虑:如何判断输入端是否有2个绿?我们好好回忆一下,其实我们做过类似的电路。记不记得我们做过一个电路:“如果≥2个绿,则输出绿”?没错,是在“成对的麻烦”那关。现在我们只要把电路改成:“如果≥2个绿,且不是4个绿,则输出到第2个端口”即可。

现在我们来回忆一下:如果想判断是不是有两个是绿,只需要成对进行与门判断,然后再用或门连接即可。我们将这个电路做出来:

然后,我们将刚才做的两个电路,结合一下。注意,该插在哪个孔的还要插在哪个孔。

运行后发现,我们不仅解决了2的问题,还解决了我们刨除掉的3的问题,这是为什么?很简单,因为1+2=3,这用到了我们之前的进制转换原理。我们做好了1的电路,2的电路,当这两个电路叠加在一起,自然就是3的电路。

现在,我们只差4的电路,我们只要检测四个输入端口是否全是绿色即可,这很简单。先两两判断,然后再总的判断:

接下来,我们将3个电路合在一起。注意,该插在哪个孔的还要插在哪个孔。

运行后发现,还是不能准确的判断4的结果,显示为6。分析,错误源于“当同时出现4个绿色时,必然同时出现2个绿色”,因此,4+2=6。我们需要想办法做到“当同时出现4个绿色时,使2的电路失效”。我们只需要在2路和3路上加一个异或门,也就是“在2路和3路中,只有1个输出绿色时,才能在2路输出绿色”,可以理解为“只有在3路关闭时,2路才能启用”。这就是本关的完整电路:

本关最终答案

题外话

给大家看看我在没有好好分析的情况下硬造的版本,奇迹的是它能够满足要求!这里奉劝大家,在拓展思维发散创意的同时,也要先理解题目的含义,搞清楚需要运用到哪些知识点。

半加器

布尔值

从本关开始的大部分关卡,我们很有可能把红色叫做0,把绿色叫做1。
  • 布尔值是“真(True)”或“假(False)”中的一个。
你可以简单的这样理解“布尔值”:
  • 真 == True == 1 == 绿
  • 假 == False == 0 == 红

当我们在说“1”和“绿”时,其实我们说的是同一个东西。

如果你还不理解什么是布尔值,请点击这里跳转到百度百科查看,不用了解的太深入。

总和、进位

我们在学习二进制时学习过:
  • 总和(SUM)
  • 进位(CAR)
关卡解析

我们有两个输入端,两个输出端,但本关比较简单。先观察:

可以分析出这关要让我们做什么:
  • A:若都是0,输出0
  • B:若有且只有1个1,在总和输出1
  • C:若有2个1,在进位输出1

首先我们发现,如果只看A和B,可以总结为“如果输入不同,就在总和输出1”,这显然是异或门的性质,因此我们先这样接入一个异或门:

接下来,然后来看C,我们只需要在两个输入同时为1时,输出到进位即可:

本关最终答案

半加器

我们本关中做出的电路,整体来看,叫做半加器。半加器是指对两个输入数据位相加,输出一个结果位(SUM)和进位(CAR),没有进位输入的加法器电路。

延迟线

关卡解析

这关获得了延迟线,可以把数据延迟一刻再输出到下一段电路。目标是延迟两刻,其实只要在一条线里加两个延迟线即可:

本关最终答案


加倍

字节

字节,单位比特(bit),1bit=1个8位数据=8个1位数据。 你可以简单的这样认为:1个8位数据=1个8位的二进制数

8位分线器、8位集线器

本关我们获得了8位分线器、8位集线器这两个元件。
  • 8位分线器:将1个8位数据拆解为8个1位数据
  • 8位集线器:将8个1位数据集合为1个8位数据

举个例子:

根据我们之前讲过的十进制转二进制,8位分线器把90这个数字拆解为2、8、16、64,那么这4个数字就是绿色,其他数字就是红色。八位集线器会把这些数字再合到一起,再变成90。

关卡解析

本关我们要制作一个将数字翻倍的电路。其实非常简单,只要把每个1位数据都×2即可。本来应该接2的咱们接4,本来应该接4的咱们接8,每个都翻倍,数据就翻倍了。

本关最终答案

全加器

关卡解析

本关几乎和“信号计数”那关的1、2、3完全一样,只是把红、绿换成了0、1。

本关和半加器类似,只不过输入变成了三个。我们观察表格,找规律,得出要求:
  • 没有1 不输出1
  • 1个1 在总和输出1
  • 2个1 在进位输出1
  • 3个1 在总和和进位都输出1
这四种情况其实分别对应二进制里的 0、1、10、11 。 首先,第二条要求可以直接照搬我们做过好几次的电路,还记得吗?
  • 某些情况下,“判断输入是否不同”==“判断1是不是奇数个”

2号要求处理完毕,现在我们处理3号要求。根据我们在“信号计数”那关的经验,当我们做好3号要求时,4号要求应该会自动做好,因为4号要求其实是2号要求和3号要求的叠加。

如何判断是否有2个1,我们也学过。两两进行与门判断,然后再用或门连接:

本关最终答案 我们发现,要求4真的自动做好了。这就是本关的电路。

奇变偶不变

循环依赖白名单

我们之前学习过,在本游戏中,循环依赖是不被允许的。但是延迟线的加入可以解决这个问题。

游戏中的方形引脚,不会造成循环依赖,因为它不会影响同一刻的输出值。

关卡解析

本关要求我们制作一个“再偶数刻输出0,在奇数刻输出1”的电路。

观察真值表发现,本关的输入全是0,因此最终结果与输入毫无关系,所以实际上我们可以直接将输入端抛弃,这是一个障眼法。我们可以这样制作:

本关最终答案 现在我们一刻一刻来看这个循环:
  • 第0刻:黄色线灭,绿色线亮。延迟线存储了信号,将在下一刻放出
  • 第1刻:延迟线存储的信号被放出,黄色线亮,绿色线因为非门灭掉
  • 第2刻:同第1刻...


1位开关

开关(S)

只有当上方被激活时,右方才能有反应,否则无论左侧输输入什么,输出都是0。

关卡解析

本关我们要制作一个异或门(XOR),也就是当两边不一样就输出1。但是我们的材料有限,只能用2个非门和2个开关。我们将1加上非门作为开关,2作为通向输出的线路:

这时我们会发现:
  • 当1开启时,输出一定为0
  • 当1关闭时,输出2直接影响输出结果
此时我们还差两种被遗漏了,也就是:
  • 当2开启时,输出一定为0
  • 当2关闭时,输出1直接影响输出结果

这样才是一个完整的异或门。我们需要将这个电路翻倍,也就是将1加上非门作为开关,2作为通向输出的线路:

然后将两个电路拼在一起,注意不要插错孔:

本关最终答案

短路处理

我们仔细看一下这个电路的最右侧。在我们之前的关卡中,如果这样连接会显示短路,但是本关并不会。请仔细阅读本关关卡说明第一页,弄清楚这是为什么!

1位取反器

观察

观察本关背景,我们可以看到有很多水滴型的图案,它们由分型构成。而分型,就意味着无限。因此,本关背景所暗示的是“无限”。它们就像是一朵朵绽放的花朵,象征着无限的生命力。它们又像是一个个的灵魂,象征着死亡。本关,是生命与死亡的无限碰撞,是矛盾的产生与矛盾的化解,是无限复杂的宇宙,而无限与本关毫无关联,实际上这个背景图也与本关毫无关联(⊙x⊙;)

关卡解析

让我们来看一眼真值表:

怎么这么眼熟?这不就是异或门吗?!恭喜过关。

本关最终答案

1位取反器

通过本关我们得知,背景可以深刻的影响人类认知(不是

异或门其实也可以被当作一个取反器,你可以把它理解成是一个可以开启或关闭的非门。你可以把一端作为要输出的数据,那么另一端就可以用于去决定是否要取反。


8位或

按位或运算

按位或运算符是双目运算符。其功能是参与运算的两数各对应的二进位相或。 法则:只要对应的2个二进位有一个为1时,结果位就为1 。

关卡解析

理解了按位或运算的意思,本关就很简单了。按照 按位或运算 法则,我们将2个8位八位线,拆成16个1位线。把对应的位进行 逻辑或运算 然后再放入集线器。

以上是用1举个例子,接下来把剩下的14个都像这样操作:

本关最终答案

8位非

关卡解析

本关异常简单,解题方法就写在下面。

本关最终答案

8位非

性质:运算前+运算后=255 ,举个例子:

28+227=255 反码 把一个二进制数的每位都反转,例如 10101010 和 01010101 互为反码。其实这一关就是在获取一个二进制数的反码,这种方式我们以后还会用到。

8位加法器

关卡解析

我们先将输入的2个8位数据拆分为16个1位数据,然后将他们放入全加器进行相加操作,再输出至集线器:

这样我们就解决了第0位,现在我们要解决第1位。根据我们之前讲过的二进制原理,分线器上2个写着“2”的输入端,实际上是写着“1”的位的进位。那么下面这三张图是,画红圈的三个点,实际上应该是在同一位上的:

  • 请确保你理解了。

所以说,我们只要把这三个同位的点加起来,再输出到集线器的“2”即可:

接下来,三个画黄圈的点,就又是在一位上的了。我们就一直这样制作下去,一直做到不能再做,我们一共需要8个全加器:

最后一个全加器右下角的点又是一个进位,是第九位,超出了8位数据,我们只要把它连到CAR上就好:

本关最终答案

8位加法器

我们本关的整个电路构成了一个8位加法器,它可以对输入的两个数据求和。


负数

关卡解析

在本关中你会学习使用补码表示法表示负数。本关又是类似小游戏,玩着玩着你就能发现所有奥妙。

在已经学习过二进制的前提下,本关不需要在过多做解释,注意关卡结束时的要点总结即可:

补码

把一个二进制数的反码+1就是补码,例如 10101010 的反码是 01010101,再把 01010101+1 得 1010110。1010110就是10101010的补码。

相反数

一个二进制数的相反数其实就是它的补码。例如,10101010的相反数是1010110。

数据选择器

关卡解析 分析本关问题,可以得出是需要我们制作一个这样的电路:
  • 选通器为红,将A路输出
  • 选通器为绿,将B路输出

首先我们在选通器上做两条路,这两条路相反,不是A亮就是B亮:

然后放置开关,注意必须要放8位开关:

连接即可,注意不要弄错A和B:

本关最终答案

相反数

关卡解析 我们倒着来推:
  • 如何获取相反数?我们在“负数”里讲过:“一个二进制数的相反数其实就是它的补码”
  • 如何获取补码?我们在“负数”里讲过:“把一个二进制数的反码+1就是补码”
  • 如何获取反码?我们在“8位非”里讲过:“把一个二进制数的每位都反转就是反码”
  • 因此,我们首先把每一位都反转,获取反码:

    然后,我们只要将这个反码+1,就是补码,而补码就是它的相反数。 胜利在望了!可是如何获取1呢?我们在“半加器”里讲过:
    • 真 == True == 1 == 绿

    也就是说,我们只要使用“高电平”元件,当作1即可。使用8位加法器,将刚才获得的反码,与高电平的1进行相加,即可获得补码,也就是相反数:

    本关最终答案

    题外话

    之前还行,玩到这突然感觉这个游戏门槛并不低。光是玩这一关,我读各种资料就至少读了一个半小时,最后搭建只花了一分多钟。我感觉如果不知道“一个二进制的相反数其实就是它的补码”这个原理,估计想破脑袋也想不出来......

    总线

    关卡解析

    我们将4条蓝线汇集到一条上,这条线叫做“总线”。总线的左侧,我们通过两个8位开关,控制应该让哪个数据保持在总线上。总线的右侧,我们通过两个8位开关,控制数据会进入哪个输出端。

    接下来做的都是以前做过的。每个1位输入端控制两个开关,并且一次只能有一个开关开启,因此我们每组里添加一个非门保证始终一开一闭,注意不要连错:

    本关最终答案

    优雅存储

    关卡解析

    本关要求我们制作一个存储器,存储器会一直存储数据,直到写入端要求它更新。

    留存数据无疑需要使用延迟线,但是延迟线只能保存一刻数据,所以我们要一直刷新它。我们先构成一个循环,延迟线会一直存储数据,直到它被关闭,如下图:

    我们需要一个开关来控制它何时被关闭:

    • 新增的线是蓝色的。

    当然这个开关现在起不到任何作用,我们需要把延迟线的输出值输入到开关上:

    然后我们将待写入的值接入总线:

    然后用一个开关来控制:

    本关最终答案按

    1位存储器

    在本关中我们做出的电路是1位存储器,它可以储存1位数据。

    存储一字节

    关卡解析

    我们先制作一个可以存储8位数据的存储器。我们只有1位存储器,所以我们需要8个。将8位数据拆成8个1位数据,存储到8个存储器中:

    当然,我们还需要制作输出端,将存储的8个1位数据再转化为1个8位数据:

    接下来就是如何控制,它有3个要求:
  • 输入0亮:读取并输出
  • 输入1亮:写入到存储器
  • 输入0亮:启用输入端
  • 我们先制作第二个。只要将输入1连接到每个1位存储器即可:

    此时,将输入0连接至输出端下方即可完成一和三:

    本关最终答案

    8位存储器

    我们本关制作出的整个电路是8位存储器,可以存储1字节的数据。

    1位解码器

    关卡解析

    本关的电路搭建特别简单,不需要过多解释,直接看图即可:

    本关最终答案

    1位解码器

    本元件就相当于上面的电路,可以在两路输出中选择一路。


    3位解码器

    关卡解析 我的方法是一路一路制作,8个输出端口分别对应一套电路。注意对照下方的真值表。

    我们先制作第一套,此电路可以确定是不是三个红,如果是就输出到输出1:

    然后制作第二套,因为真值表的第一行是绿色,所以我们不用放置非门:

    然后再制作第三套,第二路是绿,因此第二路不需要非门:

    像这样将所有电路全做出来,一共8套电路:

    然后我们将8个电路结合起来,注意不要连错孔:

    本关最终答案 方案A

    宽带

    这里提供一下另一种解法:

    本关最终答案 方案B -小渊xyz 你可以先理解一下这种解法,我们之后在“小盒子”那关会用到。“宽带”这个名字是我取的,只是因为这个带子很宽,我不知道现实里这个东西叫什么。
    • 点击元件后按空格可以旋转。

    3位解码器

    本关我们获得了3位解码器,这个元件输入3个数据,根据这3个数据在那条路决定在哪条路输出。

    逻辑引擎

    前言

    本章已经步入尾声,加油!

    编码、解码

    我们发现,本关4个指令,编入了0~3这4个数字,这就是编码。我们用解码器可以对其进行解码。

    关卡解析

    • 请一定要明白我们每步为什么要这样做,这关结束时的电路极其复杂,如果你不明白原理很有可能抄都抄不出来。

    我们先将指令输入端进行解码,用到我们上一关制作的3位解码器:

    这样,4种指令,就分别对应解码器的前4个输出口。

    我们使用8位或元件直接处理两个数据,然后将处理结果加上8位开关,与解码器输出的OR指令路连接:

    现在来制作第二条指令,即按位与非,和我们之前制作的按位或和按位非的电路相似,只是把逻辑门换成了与非门,我们用1举例:

    后面的也这样搭建,然后在结果路放置8位开关,让指令NAND路控制开关,将结果输出到总线:

    • 注意本关空间有限,最好不要做的太乱,我们还需要制作2条指令。

    然后制作按位或非,我们已经有按位或和按位非,把它们组合就行:

    然后在结果路加开关,让NOR指令路控制,接入总线,适当调整位置节省空间:

    现在我们再制作按位与的电路即可:

    也是同样,加开关,让指令AND控制,接入总线:

    本关最终答案 运行后发现正确无误。
    • 长得好像一个蓝头发的人头......
    • 注意:本关电路不要删除之类的,我们之后的“算术引擎”还会用到!

    函数

    • 本关创建的电路有点像是汇编里的函数概念,0、1、2、3分别是函数,而两个输入端就是参数。了解一下即可,后面会用到。
  • def OR(x,y): #定义OR函数
  • return(按位或操作(x,y))
  • def NAND(x,y): #定义NAND函数
  • return(按位与非操作(x,y))
  • def NOR(x,y): #定义NOR函数
  • return(按位或非操作(x,y))
  • def AND(x,y): #定义AND函数
  • return(按位与操作(x,y))
  • print(OR(183,180)) #调用OR函数
  • -----------控制台---------- 75 ---------------------------

    8位与、8位非、8位或非

    我们获得了这关里制作的3个按位操作元件:


    小盒子

    关卡解析

    这关的难点在于空间很小,我们要想尽办法节省空间。

    还记得我们在前讲的“宽带”吗?首先我们先将地址数据使用解码器导出成4条线路:

    我们知道,用A、B、0、1可以组成4个地址,分别的 (A,0), (A,1), (B,0), (B,1),我们将这4个地址用与门判断出来:

    我们在输入端设置4个8位寄存器,输出结果直接接入总线,然后输出到输出端:

    接下来我们只需要做到“控制”即可。需要8个与门,空间有点小,你看怎么能摆下:

    左边4个与门用于判断是否读取,我们先接入数据:

    然后我们把输入1接进去,就相当于“如果收到读取的信号,就让信息通过”:

    右边四个与门也类似,用于判断是否写入。先接入数据(我用的是深蓝色的线):

    将输入2接入到四个与门,就相当于“如果接收到要写入的信号,就让数据通过”:

    最后我们再来一条线(白线),将读取信号输入端和输出端开关连接。注意你很有可能没办法连接这条线,因为空间被填满了,你需要让其他东西“让开”。在移动其他元件时一定要将它的输入输出一起移动,不要导致断开和短路,如果出问题了可以按Ctrl+Z撤销操作。最后做出来是这样:

    本关最终答案

    256字节随机存储器

    可以用于存储数据的元件,之后会用到。

    计数器

    关卡解析

    首先我们制作一个这样的结构:

    寄存器会始终把数据存储并输出,并且直接输出到输出端。到下一段后,因为有ADD在,会+1(高电平就是1),然后再输出出来,重新写入到寄存器。左侧的高电平时为了始终启用寄存器的读取和写入功能。这样,在不覆盖的状态下,寄存器会每刻都+1。

    现在我们来做数据覆盖。我们只需要用到一个选通器,选择让哪个数据覆盖到寄存器即可。注意不要弄错选通器的输入端口:

    本关最终答案

    8位计数器

    我们获得了8位计数器元件,其实就是我们本关制作的电路。它会每秒+1,直到有新的数据覆盖。


    《图灵完备 Turing Complete》游戏攻略保姆级详解

    你可以通过《图灵完备》这款游戏,学习处理器架构,搭建自己的伟大作品。游戏闯关模式的最终目标是搭建一台可以运行的计算机。我将会开始更新这款游戏的攻略,详细解析每一关的通关思路,并且讲解背后的原理。

    以下三章为《图灵完备 Turing Complete》游戏手把手教程(教程原创为知乎:淘气喵w,特此说明) 第一章:基础逻辑电路 第二章:算术运算和存储器 第三章:处理器架构