这套练习混合了图像、声音与存储的各项技能:图像大小、音频大小、压缩、取舍和单位换算。题目由易到难。除非题目另有说明,请使用二进制约定(1 KiB = 1 024 字节,1 MiB = 1 024 KiB),并写出任何假设。
先在纸上做每一题,写出每一步,再打开答案。伪代码追踪训练器和 Python 推理沙盒可以检查你的方法,错题记录适合记下哪里出了错。
题目
第 1 题。 一幅图像使用 8 种不同的颜色。能存储它们的最小颜色深度是多少位?
显示答案
23 = 8,所以是 3 位。(2 位只能表示 4 种颜色,不够。)
第 2 题。 一幅位图为 32 × 32 像素,颜色深度 8 位。求未压缩大小,分别用字节和 KiB 表示。
显示答案
像素数 = 32 × 32 = 1 024。位数 = 1 024 × 8 = 8 192。字节数 = 8 192 ÷ 8 = 1 024 字节 = 1 KiB。假设没有压缩且没有元数据。
第 3 题。 一张截屏为 1 280 × 720 像素,颜色深度 24 位。求未压缩大小的 KiB 和 MiB(保留 2 位小数)。
显示答案
像素数 = 1 280 × 720 = 921 600。位数 = 921 600 × 24 = 22 118 400。字节数 = 22 118 400 ÷ 8 = 2 764 800。KiB = 2 764 800 ÷ 1 024 = 2 700 KiB。MiB = 2 700 ÷ 1 024 = 2.6367… = 2.64 MiB。
检查:24 位 = 3 字节,921 600 × 3 = 2 764 800。一致。
第 4 题。 一段单声道声音片段长 20 秒,采样率 16 000 Hz,采样分辨率 16 位。求未压缩大小的字节数和 KiB 数。
显示答案
位数 = 16 000 × 16 × 20 = 5 120 000。字节数 = 5 120 000 ÷ 8 = 640 000 字节。KiB = 640 000 ÷ 1 024 = 625 KiB。
第 5 题。 第 4 题的片段改用立体声录制。新的大小是多少 KiB?为什么?
显示答案
两个声道都要采样,所以大小翻倍:625 × 2 = 1 250 KiB。
第 6 题。 用游程编码压缩这行像素:WWWBBWWWWW。这个方法是无损还是有损?请解释。
显示答案
连续段:3 个 W、2 个 B、5 个 W。编码:W3 B2 W5。它是无损的,因为解码能完整还原 WWWBBWWWWW,没有任何缺失。
第 7 题。 把 7 680 KiB 换成 MiB。
显示答案
7 680 ÷ 1 024 = 7.5 MiB。检查:7.5 × 1 024 = 7 680。
第 8 题。 一家医院保存医生用来诊断病人的 X 光图像。应该使用无损还是有损压缩?请说明理由。
显示答案
无损。 有损压缩会永久删除数据,丢失的细节可能影响诊断。无损压缩能完整还原每一个像素,虽然文件较大。
第 9 题。 一段语音先以 44 100 Hz 录制,再以 22 050 Hz 重录,长度、位深度和声道数相同。解释对文件大小和质量的影响。
显示答案
采样率减半,所以文件大小减半。每秒的采样更少,声波捕捉得不够贴近,声音可能不够清晰。对于人声,这样的降低也许可以接受,这就是取舍。
第 10 题。 一幅未压缩的 640 × 480 图像占 150 KiB。它使用的颜色深度是多少?
显示答案
字节数 = 150 × 1 024 = 153 600。位数 = 153 600 × 8 = 1 228 800。像素数 = 640 × 480 = 307 200。深度 = 1 228 800 ÷ 307 200 = 4 位。
检查:307 200 × 4 = 1 228 800 位。一致。
第 11 题。 一个 8 MiB 的文件被压缩成 2 MiB。减少了几分之几,百分之几?
显示答案
减少量 = 8 − 2 = 6 MiB。分数 = 6/8 = 3/4,即 75%。压缩后的文件是原来的四分之一。
第 12 题。 一个文件有 3 000 000 字节。用二进制约定求它的 KiB(保留 2 位小数),并用十进制约定求它的 kB。
显示答案
二进制:3 000 000 ÷ 1 024 = 2 929.6875 = 2 929.69 KiB。十进制:3 000 000 ÷ 1 000 = 3 000 kB。数字不同是因为换算因子不同,所以一定要写明约定。
如果你做错了
| 出了什么问题 | 回到 |
|---|---|
| 把 256 当成位深度,或忘了除以 8(第 1、2、3、10 题) | 计算未压缩图像的大小 |
| 时间仍用分钟,或忘了声道(第 4、5 题) | 计算采样音频的大小 |
| 不会对连续段编码,或选错方法(第 6、8、11 题) | 区分无损压缩与有损压缩 |
| 只讲一边,没有联系大小或质量(第 9 题) | 解释质量与存储的取舍 |
| 该除时乘了,或混用 1 000 和 1 024(第 7、12 题) | 存储单位换算 |
接下来做什么?
把做错的题连同出错的步骤记在错题记录里,几天后再做一道相似的题。如果同一步一再出错,就值得仔细看看背后的习惯,我们的线上一对一计算机科学补习正是为此而设。