电脑里只有 0 和 1,两个怎么会够用?

二进制与计算机的两种状态

第 8 期 · 2026-07-04 · 2026-10-11 修订

你数数用十个数字,电脑只用两个

你有没有数过自己有几根手指?两只手一摊,10 根,不多不少。我们平时用的数字也正好是 10 个:0、1、2,一直到 9。这不是碰巧,很久以前人们数东西就是掰着手指头数的,手指 10 根,数字也就长成了 10 个。

你每天用的电脑和手机,它们的大名叫计算机,能放电影、能画画、能陪你打游戏。可它表示数字,只用两个:0 和 1。

就这两个。

你也许听人说过「电脑里全是 0 和 1」。可这 0 和 1 到底是什么东西?为什么偏偏是两个,不是 10 个?这篇文章我们就拿一个数当线索,一路追下去。这个数就是你的年龄。假设你 9 岁——9,进了电脑,会变成什么样?

三百多年前,有人先在纸上试过只用两个数字

1703 年,德国数学家莱布尼茨发表了一篇文章,题目就叫《二进制算术的说明》。他说:只用 0 和 1 两个数字,一样能写出所有的数,一样能做加减乘除。那时候离电脑出现还有两百多年,这纯粹是纸上的数学。

莱布尼茨 1703 年那篇文章里的表:左边一列是只用 0 和 1 写的数,右边一列是我们熟悉的数,找一找 9 那一行

只用两个数字,怎么写得出 9?诀窍是一个你天天在用、却很少留意的本事。

想想你是怎么写「23」这个数的。那个「2」其实不是 2,是二十。凭什么是二十?就凭它站在左边那一位。同一个数字 2,摆在右边就是 2,往左一挪,立刻变成 20——是位置,决定了它有多大。 个位、十位、百位,每往左一步,个头就大 10 倍。

莱布尼茨玩的是同一招,只有两处不一样:手里的数字只有 0 和 1;每往左一位,不是大 10 倍,是大 1 倍。

我们从最小的开始。只有一位,能写 0 和 1,两个数。添上第二位,让它代表 2:写「10」就是 2,写「11」是 2 加 1,等于 3。添上第三位,代表 4,能一路写到 7。添上第四位,代表 8——现在再看你的年龄 9:8 加 1,所以是「1001」,最左边那一位和最右边那一位是 1,中间两位是 0。

拿你的手试一试。准备:一只手,别的都不用。

第一步,手心朝着自己,四根手指并拢竖起来,大拇指收进手心,不用它。

第二步,给四根手指分工:小指是 1,无名指是 2,中指是 4,食指是 8。竖着的手指算 1,弯下去的算 0。

第三步,表示你的年龄 9:食指和小指竖着,无名指和中指弯下去。做对了的样子是:从食指往小指念过去,1、0、0、1。再试试 3:无名指和小指竖着,另外两根弯下去。

如果有一根手指弯到一半,你就说不清它算 1 还是算 0——记住这个别扭的感觉,后面会用到。

每往左一个位置大小翻一倍:1、2、4,能数到的数越来越大

规律你已经看出来了:每往左挪一位,它代表的大小就翻一倍,1、2、4、8、16、32、64、128,一直翻下去。凑够 8 位,全写 1,加起来正好 255;想写哪个数,把加起来正好等于它的那几位写成 1 就行。这个办法有个名字,叫二进制;我们平时用 10 个数字的那套,叫十进制。

到这里,二进制还只是纸上的一种写法。它是怎么钻进机器里去的?

一个 21 岁的学生发现,开关的通和断正好就是 1 和 0

1937 年,美国有个 21 岁的研究生,叫香农。他在写硕士论文的时候盯着一种叫继电器的东西看:那是电话交换机里用的电磁开关,通电吸上去就接通,断电弹回来就断开,只有这两种状态,没有第三种。

香农看出来的事,说出来很简单:开关的「通」和「断」,不就是莱布尼茨的 1 和 0 吗?一个开关记一位,四个开关排成一排就能记住 9:通、断、断、通。还不止这些:把开关一个接一个连起来,电流能不能通过,就取决于前面几个开关是通是断——这就等于让机器在算题。

楚泽 1941 年造的 Z3 计算机,一整面墙都是继电器

1941 年,德国工程师楚泽在柏林真的造出了这样一台机器,叫 Z3,里面装了 2,600 个继电器,是世界上第一台能按程序干活的二进制计算机。它算一次乘法要 3 秒钟,慢得很,但路子是对的:只用两种状态,靠位置记数。

可 1945 年那台一屋子大的电脑,偏偏用了十进制

事情没有这么顺。1945 年,美国宾夕法尼亚大学造出了 ENIAC,30 吨重,占了一整间大屋子,里面装着 18,000 个电子管。电子管是一种玻璃管子,里面的电流能通也能断,那时候的电脑就靠它当开关。

1946 年 2 月的 ENIAC:两位操作员正在一整面墙的面板前插线、拨开关

ENIAC 用的不是二进制,是我们熟悉的十进制。它记一位数字,要用 10 个位置排成一圈,轮到哪个哪个通电:通在第 3 个位置就是 3,通在第 9 个位置就是 9。一圈要 20 多个电子管,记一个 10 位的数,就得用 200 多个。

这么干有两个麻烦。第一,费东西:同样记一个 9,二进制只要 4 个开关,ENIAC 要一圈 20 多个管子。第二,容易坏:电子管发热,隔不了多久就烧坏一个,18,000 个管子里常常有几个是坏的,机器隔几天就得停下来找哪个坏了。

1945 年,一个人把账算清了:两种就够

同一年的 6 月,一位叫冯·诺伊曼的数学家写了一份报告,讲下一台电脑 EDVAC 该怎么造。他在报告里说了一件今天看起来理所当然、当时却要专门论证的事:电脑应该用二进制。

1952 年,冯·诺伊曼(右)和奥本海默站在普林斯顿的一台电脑前,这台电脑就是按他报告里的想法造的

他的理由是这样的。电子管这种东西,天然只有两种稳定的状态:通、断。你非要让它分出 10 档,一档记一个数字,也不是做不到,可第 6 档和第 7 档就差那么一点点电流,热一点、旧一点,立刻就会认成隔壁那一档。「通、断」呢?一个有、一个没有,差得最远,几乎不会认错——就像你竖直或弯下去的手指一眼分得清,弯一半的那根谁也说不准。而且记同一个数,二进制用的管子少得多,管子少,坏的机会也少。

电流分十档很难分清第几档,通电断电两种一眼分清

从那以后,新造的电脑几乎都改成了二进制。人们不是一开始就知道该用两个数字,是造过、用过、坏过,才定下来的。

不过你可能会想:电子管早就不用了,今天的电脑里,0 和 1 又是什么东西呢?它们不一定是通电和断电。 每个部件都挑了自己的一对状态。我们让你的年龄 9 挨个走一遍。

在处理器里,9 是四处高电压和低电压

电脑里负责算题的那块芯片,叫处理器,你可能见过它的英文名 CPU。今天的一块处理器里,装着几十亿到上百亿个极小的开关,它们的大名叫晶体管,小到用显微镜才看得见。它们不是真的把电断开,而是让电压在高和低之间切换:高的记成 1,低的记成 0。

你的 9,在处理器里就是四处电压:高、低、低、高。它们每秒钟能翻转几十亿次——这就是电脑算得快的原因。

在内存里,9 是四个小电容,断电就忘

算题的时候,数要先放在内存里。内存记一位数用的是一个极小的电容,你可以把它想成一个极小的水桶:装了电荷,记成 1;空着,记成 0。你的 9 在内存里,就是四个小桶:满、空、空、满。

这种小桶有个毛病:漏。装进去的电荷几十毫秒就漏得差不多了,所以内存芯片得不停地给每个满桶补电,一秒钟补十几次。一断电,补电停了,桶全空——这就是为什么电脑突然断电,你没保存的东西就没了。

在硬盘上,9 是四块小磁铁,断电也在

不想丢的东西,得记在断电也不会变的东西上。人们最早找到的是磁。

1950 年代的磁芯存储器,一个个小磁环用细线穿成网

1950 年代的电脑用一种叫磁芯的东西存数:一个个小磁环用细线穿成一张网,每个环可以顺时针磁化,也可以逆时针磁化,一个方向记 1,另一个方向记 0。磁环不用电也能保持方向,所以关了机它也记得。

今天的机械硬盘是同一个道理,只是做得小得多。打开硬盘,里面是几张光亮的圆盘,盘面上涂着一层磁性材料,分成无数个小块,每一块可以磁化成朝这边或朝那边两个方向。一个小小的磁头悬在盘面上方,飞快地读每一块朝哪边,或者把它翻过去。你的 9 在硬盘上,就是四块小磁铁:朝这边、朝那边、朝那边、朝这边。

打开的笔记本电脑硬盘:一张光亮的圆盘,右上角的小臂前端就是磁头

U 盘和固态硬盘也不怕断电,但用的不是磁。它们把电荷关进一个封起来的小格子里:关住了电荷,记成 1;空着,记成 0。这个格子和内存的小桶不一样,它几乎不漏,关上几年电荷还在。

在光盘上,9 是坑和平面;在光纤里,9 是亮和暗

光盘更直接。用显微镜看光盘的表面,是一条细得看不见的螺旋线,线上刻着一个个极小的坑,坑和坑之间是平面。读的时候一束激光照上去,照到坑和照到平面,反回来的光不一样,读出来就是 0 和 1。

电子显微镜下的光盘表面:一排排长短不一的小坑,坑之间是平面;右下角那条线的长度是 5 微米,比头发丝细得多

你发的消息、看的视频,要跨过大海去另一个国家,走的是海底的光纤。光纤是一根比头发还细的玻璃丝,一头的灯亮一下、暗一下,另一头就收到 1 和 0。你的 9 在光纤里,是四下:亮、暗、暗、亮,一秒钟能闪几十亿下。

一束光纤,每根细丝的末端都透出一点光

所以,电脑里的 0 和 1 到底是什么

现在你可以回答这个问题了。0 和 1 不是某一样东西,它们是两种状态:处理器里是电压高和低,内存里是电荷有和没有,硬盘上是磁的方向朝这边和朝那边,光盘上是坑和平面,光纤里是亮和暗。换一样东西,就换一对状态;不变的只有一条:只挑两种,挑差得最远、最不容易认错的两种。

至于为什么两种就够,你已经会了:靠位置,每往左一位大一倍。你的 9 走了一圈,在每个地方都是同一串:1、0、0、1。

1976 年的 Altair 8800b 电脑正面:一整块面板上只有两排小红灯和一排十六个扳钮开关,没有屏幕也没有键盘

顺便看一眼这张照片。这是 1976 年的一台电脑,正面没有屏幕,也没有键盘,只有一排开关和几排灯。用它的人就是这么一下一下把数扳进去的:开关朝上是 1,朝下是 0;答案由那排灯亮出来,亮的是 1,暗的是 0。那排灯,你现在已经会读了。

所以二进制不是什么数学小把戏。它是整个电脑世界的地基:你在屏幕上看到的、听到的、玩到的一切,都是先变成一串 0 和 1,再落到某一对状态上存起来、算起来的。

那一个字、一张图,到底是怎么变成 0 和 1 的呢?——那就是我们下次,要一起拆开看的事了。

延伸阅读:有人试过三进制,U 盘正在分档

三进制的电脑真造过。 1958 年,莫斯科大学造了一台叫 Setun 的电脑,每一位不是两种状态,是三种。它能用,也造了 50 台,但最后没有流传开:零件、办法几乎都是按两种状态做的,三种走不通。

U 盘正在分档。 为了在同样大的地方多装几倍东西,今天的 U 盘和固态硬盘,一个小格子里的电荷不再只分「有、没有」,而是分成 8 档甚至 16 档,一格顶三四位。代价正是冯·诺伊曼当年算过的:档分得越细越容易认错,所以它们里面都装着专门的纠错电路,格子也坏得更快,便宜的 U 盘放几年就会丢数据。分档不是不行,是要付代价,所以算题的地方不这么干。

署名:王叔叔