在任何一个小学计算机课上,老师都会告诉你"计算机用二进制"。但你有没有想过——为什么是二进制?人类日常用的是十进制,古代巴比伦人用六十进制,连时间也是六十进制。为什么计算机偏偏选中了只有0和1的二进制?
答案藏在物理世界里。
最可靠的物理状态
计算机的底层是物理硬件——晶体管。晶体管本质上是一个开关:通电或不通电。一个开关只有两种稳定状态:通或断。如果你想让一个开关表达三种状态(比如0V、1V、2V三个电平),问题就来了——电压会波动。温度变化、电磁干扰、电路老化,都会让电压偏移。如果设计的是三态电路,你需要更精确的电压检测,需要更稳定的电源,需要更昂贵的制造工艺。而二进制只需要判断"有没有电"——省心、便宜、可靠。
布尔代数的完美匹配
1847年,英国数学家乔治·布尔发明了一套逻辑系统:一个变量要么真要么假,运算只有与、或、非三种。这就是布尔代数。一百年后,工程师们发现计算机里的电路和布尔代数简直是天作之合——两个开关串联起来就是"与",并联起来就是"或",反向就是"非"。布尔代数给了计算机一套数学语言来设计逻辑电路,而二进制给了布尔代数一个物理载体。
如果用三进制,你的逻辑门就要定义更多组合:三个输入状态对应九个输出情况,复杂度的增长速度不是线性的,是指数级的。
存储的性价比
想象一个存储设备。如果每个单元只能存两种状态(0或1),一个单元存1比特。如果每个单元能存三种状态,一个单元存约1.58比特(log₂3)。多出的0.58比特看起来不错,但代价是每个单元需要更精细的控制、更复杂的读写电路、更高的容错成本。过去七十年,硬件工程师们反复算过这笔账:用更小更密的二进制单元,比用更大更贵的三进制单元,性价比高得多。
三种不是二种,二进制不只是"够用"
历史上不是没人试过三进制。苏联在1958年造过一台三进制计算机"Сетунь"(Setun),用了三元逻辑,运行了十几年。它确实能工作,性能也不错。但它最终败给了二进制的生态系统——当Intel的8080、IBM的PC、微软的DOS全部建立在二进制之上,你再优秀也打不过所有人用的习惯。
这不是技术上的失败,是生态上的碾压。正如QWERTY键盘不是最优秀的输入方案,但它活了下来——因为所有人都在用。
所以二进制还会统治多久?
短期内不会变。CMOS工艺、逻辑库、指令集架构、操作系统、编程语言——整个自底向上的技术栈都为二进制优化了七十年。改变底层需要重建一切,代价大到不现实。
但有趣的是,量子计算机正在挑战这个规则。量子比特(qubit)可以同时处于0和1的叠加态——某种意义上,它比三进制更"模糊"。但那是另一个故事了。