01电脑真的只“认识”0和1吗?

我们常听到一句话:“电脑只认识 0 和 1。” 这句话很适合入门,但如果把它理解成“CPU 里面真的到处写着数字 0 和 1”,就不准确了。

更准确地说,现代数字计算机通常用两种可区分的物理状态来表示信息。 为了方便人类书写和讨论,我们把这两种状态记作 01

电路中的两种状态

例如较低电压范围和较高电压范围

0一种状态
1另一种状态

02为什么两种状态特别适合电子电路?

真实电路里会有噪声、温度变化和电压波动。 如果我们只需要区分“两种状态”,就可以给每种状态留出比较宽的安全范围。

较低电压范围 表示 0
中间留出安全余量
较高电压范围 表示 1

这样,即使电压有一点波动,只要仍然落在正确范围内, 电路就可以把它稳定地判断为 0 或 1。

030和1在电路里到底是什么?

在很多数字电路中,0 和 1 会用不同的电压范围来表示。 但要特别注意:0 不一定等于绝对的 0 伏,1 也不等于某个固定电压。

逻辑 0

落在规定的“低电平”范围内

不确定区域

某些电压范围不应被当成稳定逻辑状态使用

逻辑 1

落在规定的“高电平”范围内

04晶体管和0、1有什么关系?

现代 CPU、内存和很多数字芯片里,都有数量巨大的晶体管(Transistor)。 晶体管可以用电信号控制电流,因此非常适合构造数字逻辑电路。

一种工作状态

可以帮助电路形成逻辑 0

另一种工作状态

可以帮助电路形成逻辑 1

数字逻辑电路

很多晶体管组合起来完成更复杂的功能

050和1怎样做出“判断”和“计算”?

当很多晶体管按照特定方式连接起来,就可以构成逻辑门(Logic Gate)。 逻辑门会根据输入的 0 和 1,产生新的 0 或 1。

AND

两个输入都为 1
输出才为 1

1 AND 1 → 1
OR

只要至少一个输入为 1
输出就是 1

1 OR 0 → 1
NOT

把逻辑状态反过来

NOT 1 → 0
晶体管 逻辑门 加法器、寄存器等电路 CPU 等复杂芯片

06文字、图片和声音为什么也能变成0和1?

电脑并不是“直接理解”文字、图片和声音。 它会先按照某种规则,把这些信息编码成数字, 再把数字表示成二进制位。

文字

字符会对应编码值

例如 Unicode

图片

像素颜色可以表示成数字

例如 RGB 数值

声音

声音可以经过采样和量化变成数字

再保存成二进制数据

视频

由连续图像、声音和其他数据组成

通常还会经过压缩编码
现实中的信息 数字化 / 编码 二进制位 存储、传输、处理

07为什么不用0到9直接做电路?

从数学上说,计算机并不是只能使用二进制。 人们也研究和制造过其他进制、甚至模拟式的计算系统。

但对现代数字电子电路来说,两种状态有很多工程上的优势:

更容易抗干扰

两种状态之间可以留出较大的安全余量

逻辑电路容易组合

布尔逻辑天然适合用两种真假状态表示

适合大规模制造

可以用晶体管构成稳定、重复的数字逻辑单元

判断更可靠

比区分很多非常接近的电平更容易保持稳定

你已经知道了什么

  • 电脑并不是“真的看到数字 0 和 1”,0 和 1 是两种数字状态的符号表示。
  • 数字电路通常用不同电压范围表示逻辑 0 和逻辑 1。
  • 0 不一定等于 0V,1 也不等于固定电压,具体标准取决于电路设计。
  • 晶体管非常适合构造数字逻辑,但“晶体管就是开关”只是一个入门比喻。
  • 晶体管可以组成逻辑门,大量逻辑门又可以组成加法器、寄存器和 CPU 等复杂电路。
  • 文字、图片、声音和视频会先按规则数字化或编码,再表示成二进制位。
  • 0 和 1 本身没有固定含义,必须结合编码和数据格式才能解释。
  • 现代计算机普遍使用二进制,是工程选择,不是“宇宙规定计算机只能用 0 和 1”。

下一个问题: 如果 0 和 1 是计算机保存信息的基本符号, 那么单独一个 0 或 1 到底有多大,又叫什么名字? 下一篇:一个 0 或 1 有多大?认识 Bit