Hello,我是小邢哥。
最近一直在和大家拆解编程语言的发展史(从 FORTRAN 到 Go、Rust),也聊了 JSON、YAML、Protobuf 这些主流数据格式的前世今生 —— 这些技术看似各自独立,却都离不开一个共同的底层逻辑:二进制。
打开今日头条查看图片详情
编程语言最终会被编译成二进制指令,数据格式本质是二进制的 “编码包装”,就连我们每天用的手机、电脑,核心也在和 0、1 打交道。
这门看似简单的 “二元语言”,不仅是计算机的 “母语”,更是连接物理世界与数字世界的桥梁。它从古代的哲学思想萌芽,到近代的数学确立,再到现代成为所有数字技术的核心,走过了几千年的历程。
你知道不?
但你知道吗?二进制的思想早在几千年前就已出现,而它成为计算机的核心,却是技术发展的必然选择。今天咱们就扒一扒二进制的前世今生:它从哪里来?为什么计算机非它不可?又如何支撑起整个数字时代?
一、前世:从八卦到数学,二进制的“古代智慧与近代确立”
提到二进制,很多人会误以为是计算机时代的产物,或认为是莱布尼茨受八卦启发而发明——但历史的真相更为复杂:二进制的“二元思想”源于古代文明,而现代数学意义上的二进制,则是近代数学家独立创立后,意外发现与古代智慧的契合之处。
打开今日头条查看图片详情
1. 古代的“二进制雏形”:八卦中的二元逻辑
最具代表性的就是中国古代的八卦。《周易》中的八卦由 “阴爻(- -)” 和 “阳爻(—)” 两种符号组合而成,每三爻组成一卦,共 8 种组合(乾、坤、震、巽、坎、离、艮、兑)。
如果把阳爻看作 “1”,阴爻看作 “0”,八卦其实就是 3 位二进制数的完整集合:
乾卦(☰):111 → 十进制 7
兑卦(☱):110 → 十进制 6
离卦(☲):101 → 十进制 5
震卦(☳):100 → 十进制 4
巽卦(☴):011 → 十进制 3
坎卦(☵):010 → 十进制 2
艮卦(☶):001 → 十进制 1
坤卦(☷):000 → 十进制 0
这种“两元素组合表达万物”的思想,是二进制的核心逻辑雏形。宋代哲学家邵雍更是提出“加一倍之法”,即“一分为二,二分为四,四分为八……”,系统呈现了二进制的递推规律,为这一思想提供了理论支撑。
八卦,你了解不?
不过需要明确的是,古代八卦是哲学思想与认知工具的结合,并未形成完整的“数制运算体系”,与现代数学意义上的二进制存在本质区别。
2. 莱布尼茨的“数学化”:二进制的正式确立
现代二进制的数学理论,由德国哲学家、数学家戈特弗里德·威廉·莱布尼茨(微积分发明者之一)在17世纪正式创立。
关键时间线如下:
- 1679年:莱布尼茨独立完成《二进制算术》手稿,明确提出二进制的核心规则——每一位只有0和1两个状态、逢二进一、十进制与二进制可相互转换,此时他尚未接触中国八卦图;
打开今日头条查看图片详情
- 1701年:莱布尼茨通过法国传教士白晋,首次收到伏羲六十四卦图,意外发现自己创立的二进制体系,与八卦的阴阳爻组合规律完全契合;
- 1703年:莱布尼茨在法国《皇家科学院院刊》发表论文《关于只用两个记号0和1的二进制算术的解释——和对它的用途以及它所给出的中国古代伏羲图的意义的评注》,正式将二进制数学理论公之于众,并指出其与八卦的关联性。
学界主流观点认为:莱布尼茨是二进制的独立创立者,八卦并非其发明灵感的来源,而是两种独立发展的智慧体系在逻辑上的“殊途同归”。
想起考研期间的,微积分真的很……
莱布尼茨本人也承认,他的工作是对二进制数学体系的“确立与传播”,而中国古人早已通过八卦体现了类似的二元逻辑思想。
二进制:就像“东西方同时发明指南针”
二进制的发展就像指南针的发明——中国古人用磁石制作司南用于导航,西方后来也独立发现了磁石的指向特性,两者原理相通但发展路径独立。
八卦的二元思想与莱布尼茨的二进制数学,正是这种“异曲同工”的智慧结晶。
二、今生:为什么计算机“只认0和1”?技术发展的必然选择
时间来到20世纪,电子计算机的发明让二进制从“数学理论”变成了“技术核心”。但为什么计算机不选十进制、八进制,偏偏选择二进制?
打开今日头条查看图片详情
答案藏在电子设备的物理特性和逻辑运算的需求中。
1. 电子设备的“天生语言”:通断即0和1
计算机的核心是电子元件(早期为电子管,后来是晶体管、集成电路),而电子元件最稳定、最易实现的状态只有两种——“通电/高电平”和“断电/低电平”。这和二进制的“0”“1”完美对应:
- 通电 = 1(有信号)
- 断电 = 0(无信号)
如果用十进制(0-9),电子设备需要区分10种不同的电压等级,这在技术上难度极大——电压会受温度、干扰影响,很难精准区分10种状态,容易出错。而二进制只需要区分“通”和“断”,就像区分“灯亮”和“灯灭”一样简单,可靠性极高。
这里需要纠正一个常见误区:世界上第一台通用电子计算机ENIAC(1946年诞生),最初并非纯二进制计算机——它采用十进制进行计算,仅在存储时使用二进制。
世界上第一台通用电子计算机ENIAC
但这种“十进制计算+二进制存储”的模式需要频繁转换,效率低下。真正确立二进制为计算机标准的,是冯·诺依曼提出的“冯·诺依曼体系结构”:1945年,冯·诺依曼在EDVAC(ENIAC的后续改进型)的设计方案中明确提出,计算机的指令和数据应统一采用二进制存储和运算,这一设计大幅简化了计算机的硬件结构,从此二进制成为所有计算机的“母语”。
打开今日头条查看图片详情
2. 逻辑运算的“天然适配”:二进制=逻辑语言
计算机不仅要处理数字,还要处理逻辑(比如“如果A成立,就执行B”),而二进制和逻辑运算(与、或、非)是天生的“绝配”——这要归功于英国数学家乔治·布尔在19世纪创立的“布尔代数”。
1847年,布尔在《逻辑的数学分析》中提出:逻辑判断只有“真(True)”和“假(False)”两种结果,这刚好对应二进制的“1”和“0”。比如:
- 逻辑“与”(AND):只有两个都为真(1),结果才为真(1)→ 1&1=1,1&0=0,0&0=0;
- 逻辑“或”(OR):只要有一个为真(1),结果就为真(1)→ 1|1=1,1|0=1,0|0=0;
- 逻辑“非”(NOT):真变假,假变真 → !1=0,!0=1。
这种简单的逻辑运算,是计算机处理所有复杂任务的基础——从计算1+1,到运行大型游戏、AI模型,本质上都是无数次二进制逻辑运算的结果。
打开今日头条查看图片详情
1938年,香农在《继电器与开关电路的符号分析》中进一步证明,布尔代数可以直接用于设计电子开关电路,为二进制在计算机中的应用奠定了技术基础。
3. 二进制的早期实践:从继电器到电子管
在ENIAC诞生前,已有科学家尝试将二进制用于计算设备:1937年,美国科学家乔治·斯蒂比兹在厨房餐桌上研制出用继电器表示二进制的机器M-1;1938年,德国工程师康拉德·楚泽独立研制出二进制可编程计算机Z1,其后续改进型Z3成为世界上第一台可运行的二进制电子计算机。
打开今日头条查看图片详情
这些早期实践证明,二进制在计算效率和硬件实现上的优势,为后来计算机的发展指明了方向。
十进制到二进制:就像“算盘”到“电子开关”
十进制计数就像用算盘——有10个珠子,要区分0-9;而二进制就像用一堆开关——每个开关只有“开”和“关”两种状态,用开关的组合就能表示所有数字和逻辑。
电子设备处理开关状态,比处理10个不同的珠子简单多了,这也是二进制最终成为计算机核心的关键原因。
我小时候还学过算盘嘞

三、核心原理:二进制到底怎么用?3分钟看懂
虽然二进制只有0和1,但它能表示所有数字、文字、图像、声音——关键在于“组合”和“编码”。下面用最通俗的方式,拆解二进制的核心用法:
1. 计数规则:逢二进一,和十进制本质一样
十进制是“逢十进一”(0-9之后进1位,变成10),二进制是“逢二进一”(0-1之后进1位,变成10)。比如:
|
十进制 |
二进制 |
通俗理解(就像数手指,只有两根手指) |
|
0 |
0 |
两根手指都放下 |
|
1 |
1 |
抬起一根手指 |
|
2 |
10 |
两根手指都抬起,进1位,个位归0 |
|
3 |
11 |
进1位后,再抬起一根手指 |
|
4 |
100 |
两根手指都抬起,再进1位,前两位归0 |
|
5 |
101 |
进两位后,抬起一根手指 |
简单说,二进制的每一位(称为“比特”,bit)代表2的幂次:从右往左,第1位是2⁰(1),第2位是2¹(2),第3位是2²(4),第4位是2³(8),以此类推。
比如二进制1011,换算成十进制就是:1×8 + 0×4 + 1×2 + 1×1 = 11。
打开今日头条查看图片详情
2. 数据编码:用0和1表示万物
数字只是基础,二进制真正的威力在于“编码”——把文字、图像、声音等信息,转化为0和1的组合。
- 文字编码:早期用ASCII码(7位二进制),能表示128个字符(字母、数字、符号),比如“A”对应1000001;现在用Unicode(如UTF-8),1个汉字用3-4个字节(24-32位二进制)表示,比如“中”对应1001110001011010,实现了全球文字的统一编码。
打开今日头条查看图片详情
- 图像编码:一张图片由无数“像素”组成,每个像素的颜色用二进制表示。比如RGB颜色模式中,红色是(255,0,0),255对应的二进制是11111111,所以红色像素可表示为11111111 00000000 00000000。
- 声音编码:声音是连续波形,计算机通过“采样”把波形变成离散数字,再转化为二进制存储。比如MP3文件,就是用二进制记录声音的采样数据。
你看:就像“摩尔斯电码”
二进制编码就像摩尔斯电码——用“点(·)”和“划(-)”的组合表示所有字母和数字;而二进制用“0”和“1”的组合表示所有信息,本质上都是“用有限符号表达无限内容”。
打开今日头条查看图片详情
四、二进制的“进化史”:从8位到64位,从芯片到AI
二进制的核心逻辑没变,但它的“应用规模”一直在进化,支撑着技术的迭代:
1. 比特到字节:数据存储的“基本单位”
早期计算机的二进制位数很少(4位、8位),后来为了适配ASCII码(7位),出现了“字节(Byte)”的概念——1字节=8比特(8位二进制数)。
8位二进制能表示0-255共256个状态,刚好覆盖ASCII码的所有字符。
之后,随着数据量增大,又出现了16位(2字节)、32位(4字节)、64位(8字节)的存储单位。
现在的计算机大多是64位,意味着一次能处理64位二进制数据,运算速度更快,能支持更大的内存(64位系统最大支持1707963264GB内存,而32位只有4GB)。
打开今日头条查看图片详情
2. 从芯片到AI:二进制是所有数字技术的基石
- 芯片层面:CPU、GPU的核心是“算术逻辑单元(ALU)”,专门处理二进制运算。比如Intel的酷睿芯片,每秒能进行几十亿次二进制运算,这是计算机快速运行的基础;
- 软件层面:操作系统、编程语言、应用程序,最终都会被编译成二进制指令,让芯片执行;
- 前沿技术:AI模型的训练和推理,本质上是对海量二进制数据的矩阵运算;区块链的加密算法,依赖二进制的逻辑运算保证安全;量子计算虽然用“量子比特”(能同时表示0和1),但核心还是基于二进制的逻辑扩展。
打开今日头条查看图片详情
五、争议与未来:二进制会被取代吗?
有人问:既然二进制表示大数时位数太多(比如十进制1000,二进制要写1111101000),为什么不换一种更高效的进制?
比如八进制、十六进制(计算机中常用,但只是二进制的简写),或者更复杂的进制?
答案是:二进制的“简单可靠”,至今没有其他进制能替代。电子设备的物理特性没变(还是通断两种状态),逻辑运算的需求没变(还是真和假两种值),所以二进制的核心地位很难动摇。
打开今日头条查看图片详情
未来的技术发展,不是“取代二进制”,而是“优化二进制的应用方式”:
- 量子计算:量子比特能同时处于0和1的“叠加态”,但它的逻辑运算还是基于二进制的扩展,本质上是“更高效的二进制计算”;
- 新型存储:比如DNA存储,用碱基对(A、T、C、G)表示信息,虽然不是0和1,但也是“多状态编码”,本质上是二进制思想的延伸;
- 边缘计算:物联网设备的芯片会用更精简的二进制运算,降低功耗,适应资源受限的场景。
打开今日头条查看图片详情
总结:二进制的胜利,是“简单即真理”的胜利
回顾二进制的前世今生,从古代八卦的二元思想,到莱布尼茨的数学理论,再到现代计算机的核心,它的成功不是因为“复杂先进”,而是因为“简单可靠”。
二进制的核心启示:把复杂问题拆解成“是或否”“有或无”的二元逻辑,就能用最简单的方式解决最复杂的问题。
打开今日头条查看图片详情
这不仅是计算机的设计哲学,也是我们认知世界的一种智慧——就像计算机用0和1构建数字宇宙,我们也能把复杂的任务拆解成一个个小步骤,逐一突破。
如今,我们每天刷手机、玩游戏、用AI,都在享受二进制带来的便利。这门“0和1的语言”,看似冰冷,却承载着人类跨越千年的智慧,连接着物理世界和数字世界,成为了整个数字时代的“基石”。
当我们用 Go 写微服务、用 Protobuf 传输数据、用 AI 模型处理信息时,都在享受二进制带来的便利。这门跨越千年的 “0 和 1 的语言”,承载着人类的智慧,连接着物理世界和数字世界,也将继续支撑着未来技术的迭代进化。
而二进制的故事,还在随着技术的发展,继续书写下去。