欢迎来到数字进位制!
你有没有想过,电脑明明只是一堆电子电路,却能让你观看高清电影或畅玩心爱的游戏?这一切都要归功于数字进位制 (Number Bases)。在这一章中,我们将探讨计算机科学中表示数字的三种主要方式:十进制 (Decimal)、二进制 (Binary) 和 十六进制 (Hexadecimal)。
如果刚开始觉得这些内容“数学味”很重,不用担心!一旦掌握了其中的规律,这就像破解密码一样有趣!
1. 三种主要的进位制
“进位制”(Base)其实就是指计数系统中可用的数字有多少个。针对 AQA 8525 课程大纲,你需要掌握以下三种:
十进制 (Decimal, Base 10)
这是你从小用到大的系统。它使用十个数字:0, 1, 2, 3, 4, 5, 6, 7, 8 和 9。
类比:想象你的十根手指头!我们数到九,当进到十的时候,就移到新的“位值”(place value) 栏位。
二进制 (Binary, Base 2)
这是电脑的“母语”。它只使用两个数字:0 和 1。
你知道吗? 电脑之所以使用二进制,是因为它们由数十亿个称为“晶体管”(transistor) 的微小开关组成。一个开关只能处于 关闭 (0) 或 开启 (1) 的状态。
十六进制 (Hexadecimal, Base 16)
这个系统使用十六个数字。因为数字 9 之后就没有单独的阿拉伯数字了,所以我们借用了字母!
数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F。
在十六进制中,A = 10, B = 11, C = 12, D = 13, E = 14, F = 15。
快速复习:
• 十进制: Base 10 (0-9)
• 二进制: Base 2 (0-1)
• 十六进制: Base 16 (0-F)
2. 我们为什么要用十六进制?
如果电脑是用二进制“思考”的,为什么人类还要大费周章使用十六进制?想象一下阅读这串数字:1011101011010001。这很容易看错吧!
我们使用十六进制的原因是:
1. 它比长串的二进制更简短,人类更容易阅读。
2. 在复制数值时,出错的概率更低。
3. 在二进制与十六进制之间转换非常容易(因为 1 个十六进制数字刚好代表 4 个位元/bits)。
现实应用:你会在 HTML 颜色代码(例如 #FF5733)或手机的 MAC 地址中看到十六进制代码。
3. 二进制转十进制
要将二进制转为十进制,我们使用位值表。在二进制中,每向左移动一位,数值就会加倍。
步骤教学:将 10101100 转为十进制
1. 画一个 8 栏的表格,从右边开始写 1,然后每向左移一栏就乘以 2:
\( 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 \)
2. 把你的二进制数字填入表格:
\( 128(1) | 64(0) | 32(1) | 16(0) | 8(1) | 4(1) | 0(0) | 0(0) \)
3. 将所有下方对应数值为 1 的数字加起来:
\( 128 + 32 + 8 + 4 = 172 \)
关键点: 如果该栏位是 1,就把该数值“开启”并加入总和中!
4. 十进制转二进制
转换方法有几种,但“减法法”(Subtraction Method) 通常是最简单的。
步骤教学:将 75 转为二进制
1. 准备好位值表:\( 128, 64, 32, 16, 8, 4, 2, 1 \)。
2. 从左边开始 (128)。128 能放入 75 吗?不能(写 0)。
3. 64 能放入 75 吗?能!(写 1)。进行减法:\( 75 - 64 = 11 \)。
4. 32 能放入 11 吗?不能(写 0)。
5. 16 能放入 11 吗?不能(写 0)。
6. 8 能放入 11 吗?能!(写 1)。进行减法:\( 11 - 8 = 3 \)。
7. 4 能放入 3 吗?不能(写 0)。
8. 2 能放入 3 吗?能!(写 1)。进行减法:\( 3 - 2 = 1 \)。
9. 1 能放入 1 吗?能!(写 1)。
结果:01001011
常见错误: 如果题目要求,请务必确保你的二进制数字包含 8 个位元(一个字节/byte),即便前面有补零也要写出来!
5. 二进制与十六进制互转
这是计算机科学中的“魔术”。因为 \( 2^4 = 16 \),所以刚好四个二进制位元(称为 nibble)可以对应到一个十六进制数字。
步骤教学:二进制转十六进制(示例:10110110)
1. 将 8 位元的数字分成两个 4 位元的 nibble:1011 和 0110。
2. 计算第一个 nibble 的十进制值 (8-4-2-1):\( 8+2+1 = 11 \)。
3. 将 11 转为十六进制:\( 11 = B \)。
4. 计算第二个 nibble:\( 4+2 = 6 \)。
5. 将结果合并:B6。
步骤教学:十六进制转二进制(示例:2F)
1. 取第一个数字 (2),转为 4 位元的二进制:0010。
2. 取第二个数字 (F),记得 \( F = 15 \)。将 15 转为 4 位元的二进制:1111。
3. 将结果合并:00101111。
记忆小帮手: 对每个 nibble 都使用 8-4-2-1 规则即可!
6. 最大值总结表
AQA 课程大纲要求你熟练掌握 0 到 255 之间的数值。以下是这些数字在不同进位制下的样子:
十进制: 255
二进制: 1111 1111(八个 1)
十六进制: FF
如果刚开始觉得有点复杂,别担心!最好的学习方法就是画出 128-64-32-16-8-4-2-1 表格,试着向你的年龄、门牌号码或幸运数字练习转换看看。
最终“快速复习”箱:
• Bit (位元): 单一个 0 或 1。
• Nibble: 4 个 bit(1 个十六进制数字)。
• Byte (字节): 8 个 bit(2 个十六进制数字)。
• 十进制转十六进制: 最简单的方法通常是先转成二进制,再转成十六进制。