在Besiege中造三进制全加器:从逻辑到机械的硬核实践
发布时间:2026/8/31 6:34:08 作者:尧图编辑部 阅读量:1,286

在 Besiege 里看惯了各种奇观能把城墙砸穿的投石机能自己走路的巨型机甲能绕场一周的飞行器。但真正让我停下来反复研究的不是任何“能打架”的机器而是一类完全不干仗的作品。它由一堆齿轮、铰链和连杆组成转起来没有任何攻击性唯一的功能就是把两个数字加在一起。我第一次看到“机械三进制计算机 全加器”这类项目记录时第一反应不是“这很酷”而是“为什么有人在物理沙盒游戏里造计算机还要选三进制”。直到后来把全加器的真值表摊开、把机械结构的受力路径在脑子里过了一遍才意识到这不是游戏里的行为艺术而是在最笨拙的环境里重新验证最基础的计算原理。二进制只是因为电子工程方便而成为默认答案但它在数学上从来不是唯一答案在机械世界里甚至不是最自然的答案。我不打算复刻某个具体作品的完整建造流程——原始信息里也没有给出细节——而是想围绕“三进制全加器”这个核心把三件事讲清楚它的逻辑到底长什么样在 Besiege 这类物理沙盒里怎样变成机械以及真正难住人的为什么会是稳定性、时序和排查而不是逻辑设计本身。1. 在物理沙盒里造电脑到底在解决什么问题1.1 为什么加法是所有计算的起点如果要在沙盒游戏里造一台计算机最合理的第一步不是直接做一个能运行程序的完整设备而是先做一个加法器。原因非常简单计算机世界里几乎所有的运算都能归约到加法。减法可以做“取负再相加”乘法可以展开成多次加法比较大小可以做一次减法再看结果正负就连数据寻址本质上也是在处理地址的加减。所以加法器不是计算机的“一个零件”而是计算机最底层的算术单元。无论将来机器做得多么复杂计算都是从加法开始的。这也是为什么很多人研究这类项目时都会从全加器起步。它小到足以验证整套思路又难到能暴露所有工程问题。比起一上来就规划“多少位、多少寄存器”把一个加法器老老实实跑稳价值要大得多。1.2 三进制不是复古而是被跳过的一条技术路线大多数人听到“三进制”的第一反应是三个状态那不就是 0、1、2 吗其实这里有个关键区别。当代三进制计算机研究里更常使用的是“平衡三进制”每一位的取值范围是 -1、0、1而不是 0、1、2。平衡三进制的核心优势在于对称性。用它表示正负数几乎是天然的不需要符号位负数就是每一位整体取反。比如 1 和 -1 之间就是简单的镜像关系。而二进制里要表达负数需要补码这套额外的转换规则。在数学上平衡三进制本身就是一个完整的带符号数系统。计算机历史上也确实出现过三进制计算机。1950 年代末苏联莫斯科国立大学研制过一台基于平衡三进制的计算机 Setun并且实际运行过。后来电子产业的发展完全倒向了二进制三进制没有形成生态但它始终不是理论幻想而是一条真实存在过、因为工程惯性被跳过的主线。还有一个信息论常识值得提在表示效率上信息密度最高的整数进制其实是 3因为理论最优基数是自然常数 e约为 2.718离它最近的整数就是 3。二进制不吃亏是因为电子器件天然只有高低两个电平状态可一旦把平台换成齿轮、铰链和连杆局面就反转了——机械结构反而更容易构造出左、中、右三个稳定位置。这正是“在 Besiege 里造三进制计算机”这件事最大的意义它逼着你在一个不默认二进制的物理环境里重新思考计算的可能性。2. 全加器的逻辑从二进制到平衡三进制2.1 二进制全加器到底做了什么先回到最基本的二进制全加器。它有三位输入A、B以及来自低位的进位 Cin输出有两位和位 S 与进位 Cout。三个 0/1 输入相加总和范围是 0 到 3。因为一位二进制只能表示 0 或 1所以结果必须拆成“本位和”和“向高位进位”两部分。ABCin 总和和位 S进位 Cout000