欢迎来到进位制(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 转换为十进制

  1. 将数字放入表格中:
    \(128(1) + 64(0) + 32(1) + 16(0) + 8(1) + 4(0) + 2(0) + 1(0)\)
  2. 加总所有“开启”的数值: \(128 + 32 + 8 = 168\)
  3. 答案: 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)。

  1. 右边开始,将你的二进制数字每 4 位分为一组。
  2. 计算每一组的十进制数值(使用 8, 4, 2, 1)。
  3. 将任何大于 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. 十进制转二进制(“减法法”)

  1. 查看你的位值表: \(128, 64, 32, 16, 8, 4, 2, 1\)。
  2. 从左边 (128) 开始。你可以从你的数字中减去 128 吗?
  3. 如果可以:写下 1 并减去该数值。
  4. 如果不可以:写下 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=10F=15 吗?
  • 你能使用“4 位一组”规则在二进制和十六进制之间转换吗?
  • 你知道计算机是因为晶体管/开关而使用二进制的吗?

别担心,如果刚开始觉得很难,这是很正常的!就像学习一门新语言,你练习用二进制和十六进制“对话”的次数越多,它就会变得越自然。今天就试着把你自己的年龄或门牌号码转换成二进制吧!