计算机中的数学 · 小白练习本 第 1 课 / 共 7 课
第 1 课 · 约 8 分钟

二进制:
计算机的母语

你手指有 10 根,所以人类习惯「逢十进一」。计算机的「手指」是电路——只有通电和断电两种状态,所以它天生只会数 0 和 1。这一课就讲:只有 0 和 1,怎么表示出整个数字世界。

需要的基础:会加法、会乘 2

1

为什么偏偏是 0 和 1?

因为两种状态最抗干扰。电路要么通电(1),要么断电(0),哪怕电压稍微波动一点点,也照样分得清是哪个。如果要区分 10 种电压来表示 0–9,一点点噪声就会把「3」读成「4」——机器就没法工作了。

想象两个人隔着操场喊话:只喊「灯亮了/灯灭了」(两种状态),隔着风声也听得清;如果靠喊 0~9 十个数字,风一吹就把「3」听成「4」了。计算机选 0 和 1,就是为了在嘈杂的世界里把话听清楚。

一个 0 或 1 叫一个比特(bit);8 个比特打包成一个字节(Byte)。你熟悉的「流量 100MB」「硬盘 512GB」,数的都是字节。

2

只有 0 和 1,怎么表示大数字?

和十进制一个道理。十进制的 10 是「逢十进一」:个位、十位、百位,每往左一位乘 10。二进制就是「逢二进一」:每往左一位乘 2

所以二进制的 1011 这样读:

1×8 + 0×4 + 1×2 + 1×1 = 11 从右往左每位的「身价」是 1、2、4、8、16……(一直乘 2)

反过来,把十进制变成二进制就反复「除以 2,记下余数」:

11 ÷2=5 余 1 → 5÷2=2 余 1 → 2÷2=1 余 0 → 1÷2=0 余 1 余数从下往上读:1011 ✔ 和上面互相验证了

十进制的 11 = 「1 个十 + 1 个一」;二进制的 1011 = 「1 个八 + 0 个四 + 1 个二 + 1 个一」。零钱不一样,总数一样。

3

数字之外:文字、图片、声音都是 0 和 1

所以 computer science 圈流传一句半开玩笑的话:「计算机里没有诗和画,只有 0 和 1,以及解读它们的约定。」这些约定(编码、格式、协议)越是标准,0 和 1 就越能变出万千世界。

4

为什么说二进制是「省电模式」?

除了抗干扰,还有简单 = 快。判断「通电/断电」只需一个晶体管开关一下;而电路做加法,本质上就是一堆开关按真值表联动(下一课你会看到「加法器」其实就是几个逻辑门)。

日常换算顺手记两个:2 的 10 次方 = 1024 ≈ 1K(这就是为什么硬盘厂商标 1000GB、系统算出来 976GB——一个按十进制、一个按二进制);1 字节 = 8 比特,所以 1 兆宽带 ≈ 每秒最多 0.125 兆字节的下载速度。

?

常见疑问

那我需要会手算二进制吗?

日常不需要,计算器和编程语言都能自动转换。但理解「每位身价乘 2」这个原理非常值——后面学 IP 地址、权限掩码、字符编码时全靠它。

还有别的进制吗?

程序员还常用十六进制(逢十六进一,用 0–9 和 A–F 表示),因为 1 个十六进制位正好等于 4 个二进制位,写长二进制串时省事。CSS 颜色代码 #FF6600 就是十六进制。

量子计算机也是 0 和 1 吗?

量子比特(qubit)可以同时「部分是 0、部分是 1」(叠加态),这是另一个维度的数学,超出本课范围——但今天的经典计算机,全是 0 和 1。

下一课