数制与编码
约 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 转成二进制,并写出它的十六进制形式。
登录 后可看答案