图灵完备 - 信号计数

2026/07/03 | 2分钟阅读 | 更新于 2026/07/03

图灵完备 - 信号计数

在女朋友的赞助下,购入了没打折的《图灵完备》,记录一下游玩进度。

「信号计数」是个有点意思的关卡:

本关里你要实现的电路是一个二进制计数器,它的三个输出引脚分别对应 1、2、4 三个二进制数位。

你需要计算四路输入里有多少路处于 1,并将结果转换成二进制,发送到输出端的三个引脚上。

提示:此关卡的解法不很简洁,你需要用到比前几关里更多的元件。

尝试写了个表格,把问题拆分。

abcd | 421
-----+----
0000 | 000
0001 | 001
0010 | 001
0100 | 001
1000 | 001
0011 | 010
0101 | 010
1001 | 010
0110 | 010
1010 | 010
1100 | 010
0111 | 011
1011 | 011
1101 | 011
1110 | 011
1111 | 100

最高位 4 只有在四个输入都为 1 的情况下才为 1,所以只需要两层与门套在一起就好了。

最低位 1 会在存在输入中存在奇数个 1 的情况下为 1,两层异或门套在一起也能搞定。

中间位 2 会在输入中有 2 个或者 3 个 1 的情况下为 1,这个麻烦一些。虽然可以把每一种情况都列出来,不过画布看上去没有那么大的空间放置这么多门。

不过,注意到这些组合中,abcd 四个位置,除了 0011 和 1100 这两种输入之外,其它的组合,都满足这样一个条件:a 和 b 中至少有一个为 1,c 和 d 中至少有一个为 1。

于是,对 0011 和 1100 特别处理,然后对其他情况先用或门,再用与门。最后把三种情况并(或门)在一起,最后排除 1111 的情况,就可以了。

图灵完备 - 信号计数 - 游戏截图

© 2026 香蕉引擎故障报告

🌱 Powered by Hugo with theme Dream.

关于

要怎么介绍自己呢,🤔。

很早以前是作为 Web 前端在学习的,但是工作第一年就成为了全干工程师。喜欢尝试各种东西,什么都会一点。

一直很喜欢 Ebiten 游戏引擎 ,特别简洁,用它做过一些小东西,可以查看这个分类 。另外特别推荐这个木鱼 ,是一个相对完整的小玩意儿,包含手搓的一个简单的 UI 框架;支持鼠标和键盘操作;有多语言和主题切换功能;同时支持 Web 端和客户端。它的源代码在 bin16/wooden-fish

主题

网站基于 Hugo,当前使用的是 hugo-theme-dream 主题的修改版 ,根据我的需要,做了一些对 PaperMod 的兼容。

我自己也写过主题 ,但是没有别人写的好看。

正在从我的笔记中往外搬运内容

等待更新:

  • 从《锈湖》中学了些什么东西
  • 我拿 React 写解谜游戏的经过
  • 基于 Pocketbase 的 Pocket Memos
  • 数独!