欢迎来到进位制(Number Bases)的世界!
你有没有想过,计算机本质上只是由数百万个微小电子开关组成的集合,它们是如何向你展示高清电影或解决复杂的数学问题的呢?这一切都始于我们如何表示数据。在本章中,我们将深入探讨进位制。虽然人类偏爱 10 进制(主要是因为我们有十根手指!),但计算机却偏好更简单的系统。
别担心,如果你觉得数学有点吓人,我们将把它拆解成容易消化的小步骤,并提供许多小技巧来协助你学习!
1. 什么是进位制?
进位制(或称基数,radix)就是指一个计数系统中可用的数字个数。它告诉你在需要“进位”到下一栏之前,你可以使用多少个不同的符号。
你需要知道的三种进位制:
- 十进制(Base 10): 我们每天都在使用的系统。它使用 10 个数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。
- 二进制(Base 2): 计算机的语言。它只使用 2 个数字:0 和 1。
- 十六进制(Base 16): 二进制的“速记法”。它使用 16 个符号:0-9 以及 A-F。
你知道吗? 计算机使用二进制是因为它能表示电的两种状态:开启 (1) 和 关闭 (0)。对硬件而言,区分“有电”与“没电”比尝试测量十种不同的电压等级要容易得多!
重点总结:
进位制决定了你有多少个符号可用。Base 2 有两个符号,Base 10 有十个,而 Base 16 有十六个。
2. 二进制(Base 2)
在二进制中,每一栏的数值都是其右边那一栏的两倍。我们将单个二进制数字称为一个位元(bit)。
二进制位值表
为了理解二进制,我们使用一个表格。我们总是从最右边开始,数值为 1,然后每向左移动一栏就乘以 2:
\(128 | 64 | 32 | 16 | 8 | 4 | 2 | 1\)
如何将二进制转换为十进制:
想像二进制数字是一排“电灯开关”。如果开关是 1,代表开启(我们计算该数值)。如果它是 0,代表关闭(我们忽略它)。
示例:将 10101000 转换为十进制
- 将数字放入表格中:
\(128(1) + 64(0) + 32(1) + 16(0) + 8(1) + 4(0) + 2(0) + 1(0)\) - 加总所有“开启”的数值: \(128 + 32 + 8 = 168\)
- 答案: 168
快速回顾: 要从二进制转换为十进制,只需将所有出现“1”的对应位值相加即可。
3. 十六进制(Base 16)
像 110101101011 这样的二进制数字非常长,人类很难阅读。十六进制(或称 Hex)让这些数字变得更短且更易于管理。
“字母”的问题
因为我们只有 0-9 这十个数字,十六进制需要更多的符号来表示 10, 11, 12, 13, 14 和 15。我们使用字母来表示:
- A = 10
- B = 11
- C = 12
- D = 13
- E = 14
- F = 15
记忆小撇步: 只需记住 A 是第一个“双位数”数字 (10)。从那里开始,你只需要用手指往下数即可!B=11,C=12,以此类推。
重点总结:
十六进制使用 0-9 和 A-F。程序员使用它来让二进制更易于阅读(例如:颜色代码或 MAC 地址)。
4. 进位制之间的转换
考试要求你能在这三个系统之间灵活转换。以下是最简单的方法。
A. 二进制转十六进制(“4 位一组”技巧)
这是最重要的捷径!一个十六进制数字精确代表四个位元(一个半字节,nibble)。
- 从右边开始,将你的二进制数字每 4 位分为一组。
- 计算每一组的十进制数值(使用 8, 4, 2, 1)。
- 将任何大于 9 的数值转换为对应的十六进制字母。
示例:将 11101011 转换为十六进制
1. 分组: 1110 | 1011
2. 计算第一组 (1110): \(8+4+2+0 = 14\)。在十六进制中,14 是 E。
3. 计算第二组 (1011): \(8+0+2+1 = 11\)。在十六进制中,11 是 B。
4. 答案: EB
B. 十六进制转二进制
只要将“4 位一组”技巧反过来做!取出每个十六进制数字,并将其转换为 4 个位元。
示例:将 3F 转换为二进制
1. 3 的二进制(使用 4 位元)是 0011。
2. F (15) 的二进制是 1111。
3. 答案: 00111111
C. 十进制转二进制(“减法法”)
- 查看你的位值表: \(128, 64, 32, 16, 8, 4, 2, 1\)。
- 从左边 (128) 开始。你可以从你的数字中减去 128 吗?
- 如果可以:写下 1 并减去该数值。
- 如果不可以:写下 0 并移至下一栏。
常见错误: 学生经常忘记写下 0。每一栏都必须填入 1 或 0!
5. 快速参考总结表
以下是前几个数字之间的对照速查:
十进制 | 二进制 (4-bit) | 十六进制
0 | 0000 | 0
5 | 0101 | 5
9 | 1001 | 9
10 | 1010 | A
12 | 1100 | C
15 | 1111 | F
期末复习清单
- 你能列出 Base 2 的位值吗? (1, 2, 4, 8, 16...)
- 你记得在十六进制中 A=10 且 F=15 吗?
- 你能使用“4 位一组”规则在二进制和十六进制之间转换吗?
- 你知道计算机是因为晶体管/开关而使用二进制的吗?
别担心,如果刚开始觉得很难,这是很正常的!就像学习一门新语言,你练习用二进制和十六进制“对话”的次数越多,它就会变得越自然。今天就试着把你自己的年龄或门牌号码转换成二进制吧!