🔢

🔌二进制

计算机只认识 0 和 1,却能算出一切——秘密是一套只有两个数字的记数法。

你每天数数用的是十个数字:0 到 9。可世界上所有的电脑、手机、游戏机,内部只用两个数字:0 和 1。它们照样能放电影、算账、陪你下棋——靠的是一套极简的记数法,叫二进制

先回看十进制

十进制的本事全在「位」上:同一个数字 3,站在个位是 3,站在十位就是 30。每一档都是右边一档的 10 倍,所以 347 其实是 3×100+4×10+73 \times 100 + 4 \times 10 + 7。这套位值戏法,你在位值里已经练熟了。

关键在于:10 只是一个选择。位值戏法并不挑基数——换成 2,照样能搭出一套完整的记数法。

二进制:每一档乘二

二进制只有 0 和 1 两个数字,每一档是右边一档的 2 倍。从右往左,位值依次是 1、2、4、8:

十进制二进制含义
111
210一个 2
3112 + 1
4100一个 4
51014 + 1
71114 + 2 + 1

往上数——0、1、10、11、100、101、110、111——就像里程表在跳字,只不过「满十进一」换成了「满二进一」。

互动演示十进制对照
3
4
7
2

3,472

读作三千四百七十二

展开式

3000 + 400 + 70 + 2

先在展开器里拨几位数字,体会「往左一格、价值乘 10」的手感。二进制的手感一模一样,只是乘数换成了 2。

十进制转二进制,再转回来

十进制转二进制:不停除以二。 把 13 变成二进制:反复除以 2,记下每次的余数。

  • 13 ÷ 2 = 6 余 1
  • 6 ÷ 2 = 3 余 0
  • 3 ÷ 2 = 1 余 1
  • 1 ÷ 2 = 0 余 1

商变成 0 就停。把余数从下往上读:1101。十进制的 13,在二进制里写作 1101。

余数从下往上读

除到商为 0 为止,最后一个余数是最高位。当场验算:1101 的位值是 8、4、2、1,取 8 + 4 + 1 = 13,对上了。

反方向更简单:把位值加起来。 每个 1 都贡献自己所在位的价值:1101=8+4+0+1=131101 = 8 + 4 + 0 + 1 = 13。二进制数不是神秘代码,只是把一个普通的数拆成了 2 的幂的组合——思路和科学记数法把数拆成 10 的幂如出一辙。

为什么计算机只用 0 和 1

电路最可靠的本事是区分「通电」和「断电」——正好两种状态,对应 1 和 0。只分辨两种状态,哪怕电压有点波动也不会认错数。一块芯片里挤着几十亿个这样的微型开关,每个开关记住一个二进制位。两个数字看似寒酸,组合起来的表达力却无穷无尽——你屏幕上的每个字,归根到底都是一长串 0 和 1。

动手检验

随堂小测

  1. 1. 二进制 1010 等于十进制的几?

  2. 2. 十进制 6 的二进制写法是?

  3. 3. 二进制里,1 之后的下一个数写作?