news 2026/9/8 22:04:35

在Besiege中造三进制全加器:从逻辑到机械的硬核实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Besiege中造三进制全加器:从逻辑到机械的硬核实践

在 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,所以结果必须拆成“本位和”和“向高位进位”两部分。

A+B+Cin 总和和位 S进位 Cout
000
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 22:04:05

AI内容生成后如何自动评估与决策?用Python实现规则引擎驱动的数字生死簿

在 AI 全民制作人的内容生产链路里,“AI 生成一段剧情、旁白、文案、分镜脚本”只是起点。真正麻烦的是生成之后怎么办:这段内容质量够不够、能不能发布、需不需要人工确认、被拒的话是哪个维度出了问题。如果你把“数字生死簿”理解成一个娱乐化的算法决…

作者头像 李华
网站建设 2026/9/8 22:03:35

第 43 章 LFI 进程内沙箱

Android 一直使用其最强隔离手段 —— 独立进程,来隔离不可信的原生代码。软件媒体解码器就是典型例子。由于格式异常的音频或视频帧会导致 C 语言解码器出现缓冲区溢出,AOSP 将软件解码器运行在经过加固的独立 APEX 进程(com.android.media.swcodec)中,通过 Binder 进行通…

作者头像 李华
网站建设 2026/9/8 22:03:41

Matpower 8机28节点潮流计算程序设计:从数据建模到牛顿-拉夫逊求解

简介:本资源是一套基于MATPOWER工具包的电力系统潮流计算实践代码,面向电气工程专业本科生、研究生及电力系统仿真初学者,解决8机28节点典型系统建模与稳态潮流分析问题。压缩包共6个文件(3个核心MATLAB脚本、1个MATPOWER安装包ZI…

作者头像 李华
网站建设 2026/9/5 22:22:07

2.8T线性压缩对决744B稀疏筛选:国产大模型推理路线与本地部署实践

要说最近大模型圈最热闹的话题,恐怕就是“超大参数”和“低成本推理”这两条路线在国产模型上正面碰了一次。一边是 Kimi K3 传出的 2.8T 总参数,用“线性压缩”把超大模型塞进可用的显存和带宽里;另一边是 GLM-5.2 以 744B 总参数的规模&…

作者头像 李华
网站建设 2026/9/4 3:04:53

Codex破局:前端组件秒级生成的技术文章大纲

一、 引言:前端开发的效率困境与AI破局1. 传统前端组件开发的痛点:重复劳动、沟通成本、设计还原度。 2. AI代码生成(以Codex为代表)带来的范式转变。 3. 本文核心:探讨如何利用Codex等大模型实现前端组件的“秒级”生…

作者头像 李华
网站建设 2026/9/2 18:41:11

DDR4内存转板设计实践:SO-DIMM转DIMM的硬件细节

简介:这是一份面向服务器硬件工程师、内存测试技术人员及PCB开发者的DDR4台式机内存转板设计资料包,解决DDR4内存条在非标准平台(如通用测试主板)上的兼容性验证与并行老化测试难题。资源共146个文件,涵盖25个PAD封装文…

作者头像 李华