跳到正文
IGCSE·Tuition
计算机科学 · 主题

数字与文字的表示

二进制像一门新语言,直到你发现每一种转换都是同样的几个步骤。

本页内容
  1. 学这个单元之前要先会什么?
  2. 一个示范例子
  3. 应该按什么顺序学这几课?
  4. 常见的陷阱有哪些?
  5. 练习题应该怎么用?

这个单元讲计算机如何只用 0 和 1 来存储数字和文字。你会学到二进制(binary)与十进制(denary)互换,用十六进制(hexadecimal)更简短地写出二进制,做二进制加法并识别溢出(overflow),读懂字符编码表,以及算出若干位(bit)最多能表示多少种不同的值。

请到 Cambridge 官网查看最新的 Computer Science 0478 大纲,核对你考试年份的内容要点。如果不确定,可先阅读你的大纲涵盖哪些年份。我们的 Computer Science 学习指南会告诉你这个单元在整个科目中的位置。

学这个单元之前要先会什么?

你需要熟悉 2 的幂(到 128),并会做整数加减。如果 2、4、8、16、32、64、128 这一排数字还不能顺口说出,请先背熟,因为每一课都会用到。

一个示范例子

计算机怎样存储单词 Hi?

第 1 步,找字符编码。 在 ASCII 中,A 是 65,a 是 97。H 是第 8 个字母,所以 H = 65 + 7 = 72。字母 i 是第 9 个字母,所以 i = 97 + 8 = 105。

第 2 步,转成二进制。 72 = 64 + 8,所以 72 是 01001000。105 = 64 + 32 + 8 + 1,所以 105 是 01101001。

第 3 步,把每个字节写成十六进制。 分成两组四位(nibble):0100 1000 是 4 和 8,所以是 48。0110 1001 是 6 和 9,所以是 69。

因此 “Hi” 存储为字节 01001000 01101001,程序员写作 48 69。这一个小例子就用到了本单元的每一课。

应该按什么顺序学这几课?

  1. 二进制与十进制互换:基础技能,其余各课都靠位值。
  2. 把十六进制当作简短写法:直接建立在二进制上,每四位为一组。
  3. 二进制加法与溢出:用到你的二进制熟练度,并解释为什么固定位数有上限。
  4. 根据给出的例子解释字符编码:说明文字也是以数字存储,用的是同样的二进制技能。
  5. 位深度与可表示的值:把加法课里的上限变成可用于颜色、字符等的规律。

最后用综合练习检验整个单元。

常见的陷阱有哪些?

  • 位值从错误的一端读起。 最右边的位值是 1,不是最左边。
  • 十六进制从左边分组。 一定要从右边分组,左边不足就补 0。
  • 三个 1 相遇时忘记进位。 二进制中 1 + 1 + 1 = 11:写 1,进 1。
  • 把字符和它的数值混淆。 字符 ‘7’ 存储为编码 55,不是数字 7。
  • 以为 n 位只能表示 n 个值。 实际是 2n 个值。

练习题应该怎么用?

先在纸上做题,并写出每一步,就像考试一样。写完自己的答案后才打开解答。做错的题,练习页会告诉你应复习哪一课,你也可以把错误记在错题记录里,以后再重做。

你可以在 Python 推理沙盒检查转换,在伪代码追踪训练器检查追踪题,但请先在纸上完成,让沙盒验证你的方法,而不是取代它。

喜欢让老师看出自己哪里出错的学生,常会觉得这个单元很适合作为线上一对一 Computer Science 补习的起点。

资料来源

  1. Cambridge IGCSE Computer Science 0478 课程大纲页面

更新于:

下一步

如果课堂上的转换都看得懂,但题目一混合二进制、十六进制和溢出就出错,一对一的老师可以逐行追踪你的步骤,找出出错的那一步。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生