跳到正文
IGCSE·Tuition
计算机科学 · 课程

位深度与可表示的值

多一位听起来只是小变化,却让计算机能分辨的东西翻倍。

本页内容
  1. 为什么每多一位,值的数量就翻倍?
  2. 怎样求一组项目需要几位?
  3. 示范例子
  4. 要留意的错误
  5. 自我检查
  6. 接下来学什么

一组 n 位可以组成 2n 种不同的组合。凭这一条规则,你就知道若干位能表示多少个数字、字符或颜色,也知道一组项目需要几位。

这一课把二进制转换、溢出背后的上限和字符编码中的编码大小联系起来,是数字与文字的表示的最后一课。

为什么每多一位,值的数量就翻倍?

从小的开始,把每一种组合列出来。

位数组合数量
10, 12
200, 01, 10, 114
3000, 001, 010, 011, 100, 101, 110, 1118
4上面 8 种前面加 0,再加上同样 8 种前面加 116

多加一位,每种旧组合就有两个版本:一个以 0 结尾,一个以 1 结尾。所以数量每次翻倍:2、4、8、16、32、64、128、256。这和二进制的位值是同一排数字,所以 8 位有 256 种组合,最大的数是 255。

怎样求一组项目需要几位?

  1. 数一数必须区分的项目有多少个。
  2. 找出最小的 n,使 2n 大于或等于这个数量。
  3. 写出 n,并展示检查:2n 够用,而 2n−1 不够。

示范例子

一个天气传感器会报告 12 种不同天气代码中的一种,例如晴、多云和雨。每个代码至少需要几位?

23 = 8,小于 12,所以 3 位不够。

24 = 16,不小于 12,所以 4 位够用。

答案是 4 位。16 种组合中有 4 种没有用到,这没有问题。

再看一个关于颜色的例子。一幅图像的颜色深度是每像素 8 位。可用颜色:28 = 256。

如果颜色深度提高到 24 位,颜色数量是 224 = 16 777 216。深度越大,颜色越丰富,但每个像素现在需要 24 位而不是 8 位,所以相同像素数下文件大三倍(24 ÷ 8 = 3)。

你可以在 Python 推理沙盒快速检查 2 的幂:print(2**8) 得到 256,print(2**24) 得到 16777216。

要留意的错误

常见的失误是把位数乘以 2,而不是用 2 的幂。

题目: 4 位可以表示多少个不同的值?

错误答案: 4 × 2 = 8。

这对 3 位是对的,对 4 位却不对。正确做法是 2 × 2 × 2 × 2 = 16。

第二种失误是把 8 位的最大数说成 256。组合有 256 种,但是从 0 开始,所以最大是 255。请把“有多少种组合?”和“最大的数是多少?”当成两个独立的问题。

自我检查

1. 6 位可以表示多少个不同的值?

查看答案

26 = 2 × 2 × 2 × 2 × 2 × 2 = 64。检查:32 的两倍是 64。

2. 一间图书馆用二进制给 40 个图书类别编码。每个编码最少需要几位?

查看答案

25 = 32 小于 40,所以 5 位太少。26 = 64 不小于 40。答案是 6 位。

3. 一幅图像有 16 种颜色。需要多大的颜色深度?如果再加一位,颜色数量会怎样?

查看答案

16 = 24,所以深度是 4 位。再加一位变成 5 位,颜色数量翻倍,变成 32。

接下来学什么

学到图像和声音如何存储时,位深度会再次出现,可以从 Computer Science 学习指南找到相关单元。用综合练习检验本单元的所有内容。

老师可以通过线上一对一 Computer Science 补习帮你把这些规则变成清晰、拿得到分的解释。

常见问题

n 位能表示多少个值?

n 位可以表示 2 的 n 次方个不同的值。1 位得 2 个,2 位得 4 个,3 位得 8 个,每多一位数量就翻倍。8 位就是 256 个值,如果是数字,范围是 0 到 255。

怎样求一组项目需要几位?

找出最小的 n,使 2 的 n 次方不小于项目的数量。20 个项目:2 的 4 次方是 16,不够;2 的 5 次方是 32,够了。所以需要 5 位。

位深度对图像来说是什么意思?

颜色深度(colour depth)是存储每个像素颜色所用的位数。位深度越大,能表示的颜色越多,但文件也越大。图像、声音与存储单元会在这个想法上继续展开。

为什么 8 位的最大值是 255 而不是 256?

一共有 256 种不同的组合,但计数从 0 开始,所以数值是 0 到 255。最大值永远比组合数少 1,也就是 2 的 n 次方再减 1。

资料来源

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

更新于:

下一步

如果位数与可表示的值之间的关系只懂一半,一对一的老师可以从很小的例子和你一起建立它,直到你能用自己的话解释。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 试听前先确认老师的每小时收费,之后的课程也按同样收费。上课时间在试听后与老师安排。

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

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

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