01电脑真的只“认识”0和1吗?
我们常听到一句话:“电脑只认识 0 和 1。” 这句话很适合入门,但如果把它理解成“CPU 里面真的到处写着数字 0 和 1”,就不准确了。
更准确地说,现代数字计算机通常用两种可区分的物理状态来表示信息。 为了方便人类书写和讨论,我们把这两种状态记作 0 和 1。
电路中的两种状态
例如较低电压范围和较高电压范围
02为什么两种状态特别适合电子电路?
真实电路里会有噪声、温度变化和电压波动。 如果我们只需要区分“两种状态”,就可以给每种状态留出比较宽的安全范围。
这样,即使电压有一点波动,只要仍然落在正确范围内, 电路就可以把它稳定地判断为 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。
两个输入都为 1
输出才为 1
1 AND 1 → 1只要至少一个输入为 1
输出就是 1
1 OR 0 → 1把逻辑状态反过来
NOT 1 → 006文字、图片和声音为什么也能变成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