今天开个新坑,聊一个计算机领域最基础、最底层,但你几乎每天都在用却从来不认识它的东西。
在正式开始之前,我先问一个问题:你觉得,人类历史上最伟大的发明是什么?
有人说是轮子,有人说是文字,有人说是互联网。但我觉得,还有一个答案被严重低估了——那就是“把复杂的事情变成选择题”。
1948 年,美国贝尔实验室里,一个叫 克劳德·香农 的男人正在疯狂搞研究。这个男人是什么来头?他大学的时候同时修了电子工程和数学两个学位,硕士论文搞了个用继电器做逻辑运算的东西,后来被学术界公认为“二十世纪最重要的硕士论文”——注意,是硕士论文,不是博士论文。

就是这么一号猛人,在 1948 年发了一篇论文,叫《通信的数学理论》。这篇论文一出来,整个学术界都炸了。香农在里面干了一件什么事呢?他把“信息”这个东西给数学化了。
这事有多离谱呢?就好比有人突然告诉你:爱情是可以算出来的,幸福是可以量化的,你妈为什么觉得你冷是可以建模的。信息这个东西,以前大家都觉得很玄乎,一封电报发过去,“我军已占领高地”和“高地已被我军占领”,意思差不多,但哪个信息量更大?没人说得清。
香农说:不,说得清。
他给出的答案震古烁今:信息的本质,是消除不确定性。
什么叫消除不确定性?举个例子。你现在想问一个问题:今天外面下雨了吗?这个问题有两个可能的答案:下了,或者没下。所以这个问题的不确定性是“二选一”。我告诉你了答案,我就给了你一个信息量。如果我告诉你的是一句废话,比如“今天要么下雨要么不下雨”——那对不起,这句话信息量是零,因为它没有消除任何不确定性。
香农把这个最基本的“二选一”单元,叫做 binary digit,简称 bit。
但这里有一个好玩的八卦。
香农当时想给这个东西起个名字。他自己没想好,就去问同事。他先问了另一位大佬约翰·冯·诺依曼,就是那个搞计算机的冯·诺依曼。冯·诺依曼想了想说,你叫它“binary digit”不就行了嘛。香农觉得有点长。
然后他又去问了另一位数学家,叫约翰·图基。图基说:“binary digit”太啰嗦了,我建议你缩写成“bit”。
注意,这个约翰·图基不是随便什么人。这个人后来发明了快速傅里叶变换,就是现在你手机里所有音频压缩、图像处理的数学基础。但在1948年那个下午,他最大的贡献是随口起了一个名字。这个名字后来成了整个信息时代的基石。
所以各位,起名真的很重要。你想想,如果当时图基那天心情不好,说“你叫它 binit 也行”,那后来我们就会说“我手机有 512 吉比尼特的存储”——那整个科技史的画风就完全不一样了。
好了,名字有了,那这玩意儿到底能干什么?
我们回到“选择题”这个思路上来。1 bit,就是一个最纯粹的选择题。它只能回答一个问题:是,还是否。
你不能问它“今天天气怎么样”,你只能问“今天下雨了吗”。它只能点头或者摇头。在计算机的世界里,我们把这个点头和摇头记作 1 和 0。
就这么简单的东西,能干什么?
答案是:什么都能干。
我接下来这句话可能有点暴论,但各位仔细品一品——你手机里的一切,无论是 4K 高清视频、吃鸡游戏、你前女友的聊天记录,还是你现在正在看的这篇文章,它们在被层层剥开、拆到最底层之后,全部都是由“是”和“否”这两个字组成的。
就像宇宙万物看起来千姿百态,但拆到原子层面,全是质子、中子、电子。在信息世界里,1 bit,就是那个不可分割的原子。
那么,1 bit 在物理世界里长什么样?
这个说来也很有意思。香农搞理论的时候,根本不关心物理实现,就像建筑师画图纸的时候不关心砖是红砖还是青砖。但在现实中,1 bit 需要有东西来代表它。
最早的 1 bit 长什么样?我们中国人最熟悉:烽火台上的狼烟。点着了,就是 1,意味着“敌人来了”;没点着,就是 0,意味着“一切安好”。一个烽火台,就是一个 1 bit 设备。
再往后,19 世纪的穿孔纸带。一张纸,上面有孔就是 1,没孔就是 0。那时候的纺织机、电报机,用的全是这个原理。你奶奶缝纫机用的那个打孔花样板,本质上就是一套只读存储器。
到了电子时代,事情变得更有意思。一个晶体管开关,通就是 1,断就是 0。你现在手机里那个指甲盖大小的芯片上,大约有 100 多亿个晶体管。100 多亿个 1 bit 单元挤在一片硅片上,每秒开关数十亿次。而它们做的每一件事,从底层看,都只是在回答一个又一个的“是或否”。
我们回到 1 bit 本身。到这里,你可能觉得,1 bit 太渺小了,渺小到几乎没有实际用途。一个烽火台只能告诉你“有敌人”或者“没敌人”,它不能告诉你敌人来了多少人、从哪个方向来的、主将是谁。它甚至不能告诉你今天值班的士兵午饭吃了什么。
但我想给你一个完全不同的视角。
1957 年,苏联发射了人类第一颗人造卫星“斯普特尼克1号”。这颗卫星上装了什么东西?除了一堆仪器之外,它只往地面发回一种信号:哔——哔——哔——。这个哔哔声,本质上就是 1 个 bit 的信息在重复:“我在呢”“我在呢”“我在呢”。
就这么一个 1 bit 的信号,把整个西方世界吓出了一身冷汗。因为它意味着苏联人能把一个东西扔到地球轨道上。能扔卫星,就能扔核弹。美国人的反应是立刻成立了 NASA,全面开启了太空竞赛。
所以你看,1 bit 的信息量虽然小,但如果它回答的是那个最关键的问题——“苏联人有没有能力打到我们?”——那这个 1 bit,就足以改变人类历史的进程。
最后,让我们给 1 bit 找一个形象的比喻。
如果整个信息世界是一片大海,那么 1 bit 就是构成这片大海的一粒沙。一粒沙什么也做不了,你把它放在手心里,风一吹就没了。但如果你有 80 亿粒沙,你能堆出一整片海滩。
而我们后面要讲的所有故事——从 1 Byte 到 1 KB,从 1 GB 到 1 YB——全部都是从这粒沙开始的。
香农在 1948 年那篇论文里写下"bit"这个词的时候,他大概不会想到,七十多年后,人类每年产生的数据量已经需要用“泽它字节”这种你甚至不会写的汉字来描述了。但无论数字多庞大,溯其源头,信息最小的、最本质的孩子,仍然是这个只会点头摇头的哑巴:1 bit。