当我们在说“1”和“绿”时,其实我们说的是同一个东西。
如果你还不理解什么是布尔值,请点击这里跳转到百度百科查看,不用了解的太深入。
我们有两个输入端,两个输出端,但本关比较简单。先观察:
可以分析出这关要让我们做什么:
首先我们发现,如果只看A和B,可以总结为“如果输入不同,就在总和输出1”,这显然是异或门的性质,因此我们先这样接入一个异或门:
接下来,然后来看C,我们只需要在两个输入同时为1时,输出到进位即可:
本关最终答案
这关获得了延迟线,可以把数据延迟一刻再输出到下一段电路。目标是延迟两刻,其实只要在一条线里加两个延迟线即可:
本关最终答案
举个例子:
根据我们之前讲过的十进制转二进制,8位分线器把90这个数字拆解为2、8、16、64,那么这4个数字就是绿色,其他数字就是红色。八位集线器会把这些数字再合到一起,再变成90。
本关我们要制作一个将数字翻倍的电路。其实非常简单,只要把每个1位数据都×2即可。本来应该接2的咱们接4,本来应该接4的咱们接8,每个都翻倍,数据就翻倍了。
本关最终答案
本关几乎和“信号计数”那关的1、2、3完全一样,只是把红、绿换成了0、1。
本关和半加器类似,只不过输入变成了三个。我们观察表格,找规律,得出要求:
2号要求处理完毕,现在我们处理3号要求。根据我们在“信号计数”那关的经验,当我们做好3号要求时,4号要求应该会自动做好,因为4号要求其实是2号要求和3号要求的叠加。
如何判断是否有2个1,我们也学过。两两进行与门判断,然后再用或门连接:
本关最终答案
我们之前学习过,在本游戏中,循环依赖是不被允许的。但是延迟线的加入可以解决这个问题。
游戏中的方形引脚,不会造成循环依赖,因为它不会影响同一刻的输出值。
本关要求我们制作一个“再偶数刻输出0,在奇数刻输出1”的电路。
观察真值表发现,本关的输入全是0,因此最终结果与输入毫无关系,所以实际上我们可以直接将输入端抛弃,这是一个障眼法。我们可以这样制作:
本关最终答案
本关我们要制作一个异或门(XOR),也就是当两边不一样就输出1。但是我们的材料有限,只能用2个非门和2个开关。我们将1加上非门作为开关,2作为通向输出的线路:
这时我们会发现:
这样才是一个完整的异或门。我们需要将这个电路翻倍,也就是将1加上非门作为开关,2作为通向输出的线路:
然后将两个电路拼在一起,注意不要插错孔:
本关最终答案
我们仔细看一下这个电路的最右侧。在我们之前的关卡中,如果这样连接会显示短路,但是本关并不会。请仔细阅读本关关卡说明第一页,弄清楚这是为什么!
观察
观察本关背景,我们可以看到有很多水滴型的图案,它们由分型构成。而分型,就意味着无限。因此,本关背景所暗示的是“无限”。它们就像是一朵朵绽放的花朵,象征着无限的生命力。它们又像是一个个的灵魂,象征着死亡。本关,是生命与死亡的无限碰撞,是矛盾的产生与矛盾的化解,是无限复杂的宇宙,而无限与本关毫无关联,实际上这个背景图也与本关毫无关联(⊙x⊙;)
让我们来看一眼真值表:
怎么这么眼熟?这不就是异或门吗?!恭喜过关。
本关最终答案
异或门其实也可以被当作一个取反器,你可以把它理解成是一个可以开启或关闭的非门。你可以把一端作为要输出的数据,那么另一端就可以用于去决定是否要取反。
以上是用1举个例子,接下来把剩下的14个都像这样操作:
本关最终答案
本关异常简单,解题方法就写在下面。
本关最终答案
性质:运算前+运算后=255 ,举个例子:
28+227=255
我们先将输入的2个8位数据拆分为16个1位数据,然后将他们放入全加器进行相加操作,再输出至集线器:
这样我们就解决了第0位,现在我们要解决第1位。根据我们之前讲过的二进制原理,分线器上2个写着“2”的输入端,实际上是写着“1”的位的进位。那么下面这三张图是,画红圈的三个点,实际上应该是在同一位上的:
所以说,我们只要把这三个同位的点加起来,再输出到集线器的“2”即可:
接下来,三个画黄圈的点,就又是在一位上的了。我们就一直这样制作下去,一直做到不能再做,我们一共需要8个全加器:
最后一个全加器右下角的点又是一个进位,是第九位,超出了8位数据,我们只要把它连到CAR上就好:
本关最终答案
在已经学习过二进制的前提下,本关不需要在过多做解释,注意关卡结束时的要点总结即可:
首先我们在选通器上做两条路,这两条路相反,不是A亮就是B亮:
然后放置开关,注意必须要放8位开关:
连接即可,注意不要弄错A和B:
本关最终答案
因此,我们首先把每一位都反转,获取反码:
然后,我们只要将这个反码+1,就是补码,而补码就是它的相反数。
也就是说,我们只要使用“高电平”元件,当作1即可。使用8位加法器,将刚才获得的反码,与高电平的1进行相加,即可获得补码,也就是相反数:
本关最终答案
我们将4条蓝线汇集到一条上,这条线叫做“总线”。总线的左侧,我们通过两个8位开关,控制应该让哪个数据保持在总线上。总线的右侧,我们通过两个8位开关,控制数据会进入哪个输出端。
接下来做的都是以前做过的。每个1位输入端控制两个开关,并且一次只能有一个开关开启,因此我们每组里添加一个非门保证始终一开一闭,注意不要连错:
本关最终答案
以下三章为《图灵完备 Turing Complete》游戏手把手教程(教程原创为知乎:淘气喵w,特此说明)
第一章:基础逻辑电路
第二章:算术运算和存储器
第三章:处理器架构