首页 / 知识库 / 进大厂必备计算机基础 / 计算机组成原理

01 - 为什么计算机只认识 0 和 1

你肯定听过「计算机底层都是 0 和 1」。但为什么是 0 和 1?为什么不是我们更习惯的 0~9?搞懂这个,是理解一切的起点。

根本原因:电子设备最擅长区分「两种状态」

计算机是电子设备,它靠电路工作。电路最容易、最稳定地表达的,是两种截然不同的状态

  • 有电压 / 没电压
  • 通电 / 断电
  • 高电平 / 低电平

我们把这两种状态记作 1 和 0

为什么不用 10 个状态来直接表示 0~9?因为要在一根线上稳定地区分出 10 个不同的电压档位太难了——电压稍微波动一下,5 就可能被误读成 4 或 6,极不可靠。而「有电 / 没电」这两种状态之间差距巨大,几乎不可能认错,抗干扰能力极强。

就像开关:区分「开」和「关」谁都不会错;但要你把旋钮精确停在「三成、四成、五成」的位置还不许偏,就难多了。计算机选了最不容易出错的方案——只认两种状态。

这种「只用 0 和 1 两个数字」的计数方式,就叫二进制(Binary)

位(bit)和字节(byte)

  • 一个 0 或 1,是信息的最小单位,叫比特 / 位(bit)
  • 8 个 bit 凑成一组,叫字节(byte)。字节是我们最常用的计量单位。

为什么要凑成组?因为单独一个 bit 只能表示两种可能(0 或 1),能表达的东西太少。多个 bit 组合起来,可能性就爆炸增长:

  • 1 个 bit → 2 种组合
  • 2 个 bit → 4 种(00、01、10、11)
  • 8 个 bit(1 字节)→ 256 种

规律:n 个 bit 能表示 2ⁿ 种不同的东西。 每多一位,可能性翻一倍。这是计算机里最基本的一条算术。

二进制怎么表示我们熟悉的数

我们平时用十进制:每一位逢十进一,各位的「权重」是 1、10、100……

二进制一样的道理,只是逢二进一,各位权重是 1、2、4、8、16……举个例子,二进制 1011 是多少?

 1     0     1     1
 ×8    ×4    ×2    ×1
= 8  +  0  +  2  +  1  =  11

所以二进制 1011 就是十进制的 11。你不用会算这个,只要记住:二进制和十进制只是「同一个数的两种写法」,能互相换算,计算机在底层用二进制,仅仅因为它对电路最友好。

关键认知:一切信息都能编码成 0 和 1

数字能用二进制表示,那文字、图片、声音、视频呢?答案是:只要事先约定好一套「翻译规则」,任何信息都能编码成一串 0 和 1。

  • 文字:约定「某个二进制串代表字母 A」(第 09 章讲)。
  • 图片:约定「用三个数表示一个像素点的红绿蓝」,再把每个数写成二进制。
  • 声音:把声波按时间采样成一串数字。

这是计算机最深刻的一点:它本身只会摆弄 0 和 1,是我们人为约定的「编码规则」,赋予了这些 0/1 以「文字、图像、声音」的意义。

小结

  • 计算机是电子设备,用「有电/没电」两种最不易出错的状态表示信息,于是采用二进制(只用 0 和 1)
  • 最小单位是 bit(一个 0 或 1),8 个 bit 组成 1 字节(byte)
  • n 个 bit 能表示 2ⁿ 种东西,每多一位可能性翻倍。
  • 二进制和十进制只是同一个数的不同写法,可互换。
  • 任何信息(数字、文字、图片、声音)只要约定好编码规则,都能变成一串 0 和 1。

下一章 → 02 - 用开关怎么做出加法 | 回到 README 目录