数字电子技术

数制与编码

10 分钟

为什么计算机只认 0 和 1

你可以把电路想成一条只有两种状态的水管:有水、没水。让电路区分十种水位(代表 0 到 9)?电压一抖就认错。所以工程师选了最扛造的两态方案,这就是二进制的由来——不是谁喜欢 0 和 1,而是物理世界只稳稳保证两种状态。

进制其实是「位置的游戏」

十进制里 173 = 1×100 + 7×10 + 3×1,每位有个「权重」。二进制一模一样,只是权重变成 1、2、4、8、16……所以 173 写成二进制是 10101101:128 + 32 + 8 + 4 + 1。十六进制是二进制的「压缩写法」,4 位二进制恰好合成 1 位十六进制,10101101 就是 AD——程序员满屏的 0xAD、0xFF 就是这么来的。

编码:给 0 和 1 约定含义

同一串 01000001,按 ASCII 约定读是字母 A,按二进制数读是 65。还有 BCD 码(每 4 位表示一个十进制数字,电子表爱用它),以及表示负数的补码——用补码,减法可以统统变成加法,CPU 因此省掉一整套减法电路。

常见误区:二进制不是「计算机专利」。电报的滴嗒、盲文的凸平,本质上都是二进制编码。

练一练:把 2025 写成二进制和十六进制,再验证一遍加回去对不对。

小纸条

把 45 转成二进制,并写出它的十六进制形式。

登录 后可看答案