| 学习指南 EN
A-Level · cie-9618 · A-Level Computer Science · Data Representation / 数据表示 · 阅读约 15 分钟 · 更新于 2026-05-06

数据表示 (Data Representation) — A-Level Computer Science 学习指南

适合谁:A-Level Computer Science 参加 A-Level Computer Science 的考生。

覆盖内容:数制转换、有符号整数补码表示、浮点数存储、ASCII与Unicode字符编码、位图矢量图对比及音频编码全考点。

前置知识:基础编程概念;Python / Java / VB 任一种。

关于练习题:下文「练习题」一节的所有题目均为我们按 A-Level Computer Science 风格编写的原创题目 (original problems),仅用于教学。它们不是 Cambridge International 真题的复制,措辞、数值或语境可能不同。请把它们当作练手用;评分细则请对照 Cambridge 官方 mark scheme。


1. 什么是数据表示?

数据表示是计算机存储、传输信息的核心规则:计算机所有硬件只能识别高低电平对应的二进制(binary)0和1,因此人类使用的数字、文字、图像、声音等各类信息,都需要按照统一规则转换为二进制格式才能被计算机处理,这套转换规则就是数据表示。 本章节是A-Level Computer Science Paper 1的核心必考内容,占分约10-15分,同时也是后续处理器运算、文件存储、数据压缩等章节的基础,需要熟练掌握所有子考点。

2. 数制(Number Bases):二进制、十进制、十六进制

数制是计数的规则,核心参数是基数(radix),即每一位可以使用的不同符号的数量:

  • 十进制(decimal):基数为10,使用0-9共10个符号,是人类日常使用的数制
  • 二进制(binary):基数为2,使用0、1共2个符号,是计算机原生使用的数制
  • 十六进制(hexadecimal):基数为16,使用0-9、A-F共16个符号,用来简化二进制的书写(1位十六进制对应4位二进制)

考官常考三类转换,通用规则如下:

  1. 任意进制转十进制:按权展开求和,第n位(从右往左数,从0开始计数)的权值为 范例:
  2. 十进制转二进制:整数部分除2取余、逆序排列;小数部分乘2取整、顺序排列
  3. 二进制↔十六进制:整数部分从右往左每4位一组,小数部分从左往右每4位一组,不足补0,逐组转换 范例:

3. 有符号整数的补码(Two's Complement)表示

如果要存储带正负号的整数,最常用的方法是补码(two's complement):

  • 规则:n位二进制的最高位为符号位,0代表正数,1代表负数,剩余n-1位存储数值
  • n位补码的取值范围为,例如8位补码的范围是-128到+127

负数补码的计算方法:先写出对应正数的n位二进制表示,按位取反后加1,符号位参与运算。 范例:求8位补码下-19的表示:

  1. +19的8位二进制为00010011
  2. 按位取反得到11101100
  3. 加1得到11101101,即为-19的8位补码

补码的优势是可以直接用加法实现减法运算,不需要额外的减法电路,考官常考补码的加减运算验证。

4. 浮点数(Floating-point)表示

浮点数用来存储带小数的数值,类似科学计数法,标准结构分为三部分:

  1. 符号位(1位):0代表正数,1代表负数
  2. 阶码(exponent):存储指数的偏移码,决定数值的大小范围
  3. 尾数(mantissa):存储有效数字,决定数值的精度

考纲要求二进制浮点数必须规格化:即尾数的最高位必须为1,这样可以保证存储的精度最大化。 范例:将二进制数转为规格化浮点数:

  1. 调整为
  2. 尾数为1.011101,省略整数位的1(默认存在)后存储小数部分011101
  3. 阶码为3,加上偏移量(比如5位阶码偏移量为16)后存储为10011

5. 字符编码(Character Encoding):ASCII、Unicode

字符编码是将文字、符号转换为二进制的规则,考纲要求掌握两类:

  1. ASCII(美国信息交换标准代码):7位编码,最多存储128个字符,包括英文字母、数字、标点符号和控制字符,扩展ASCII为8位,最多存储256个字符,仅能支持英文和少量西欧语言 范例:大写字母'A'的ASCII码为十进制65,对应二进制01000001
  2. Unicode(统一码):为支持全球所有语言设计,包含超过14万个字符,常用的实现方式为UTF-8:可变长编码,1-4字节存储一个字符,英文字符占1字节,和ASCII完全兼容,中文占3字节,是当前互联网的通用编码。

6. 图像与音频编码

除了数字和文字,多媒体信息也需要转成二进制存储,考纲要求掌握两类:

图像编码

  • 位图(bitmap image):由像素(pixel)矩阵组成,每个像素存储颜色值,色深(每个像素的二进制位数)决定可显示的颜色数量,分辨率越高、色深越大,文件越大,放大后会出现锯齿失真,适合存储照片
  • 矢量图(vector image):用数学公式记录图形的坐标、形状、颜色、线条宽度等属性,放大不会失真,文件大小和图形复杂度相关,和尺寸无关,适合存储logo、插画、工程图纸

音频编码

声音是模拟信号,转成数字信号需要经过采样,核心参数:

  • 采样率(sampling rate):每秒采集声音样本的次数,单位为Hz,常用44.1kHz(CD音质)
  • 采样深度(sample depth):每个样本存储的二进制位数,常用16位
  • 音频文件大小计算公式:

7. 常见陷阱 (Common Pitfalls)

  1. 错误:二进制转十六进制时从左到右分组,忘记补前导/后缀0;原因:混淆分组的起点规则;正确做法:以小数点为界,整数部分从右往左4位一组,小数部分从左往右4位一组,不足的位置补0。
  2. 错误:计算负数补码时只取反不加1,或者符号位不参与取反;原因:混淆反码和补码的计算规则;正确做法:求n位负数补码时,先写对应正数的n位二进制,所有位(含符号位)按位取反后加1。
  3. 错误:计算音频/位图文件大小时忘记除以8;原因:混淆位(bit)和字节(byte)的单位;正确做法:采样深度、色深的单位都是位,转字节需要除以8。
  4. 错误:浮点数规格化时保留尾数最高位为0;原因:忘记规格化的精度要求;正确做法:二进制浮点数规格化必须保证尾数最高位为1,通过调整阶码实现。

8. 练习题 (A-Level Computer Science 风格)

题1

题干:将十六进制数3E7D转换为二进制和十进制,写出完整步骤。 解答:

  1. 转二进制:每个十六进制位对应4位二进制:3=0011E=11107=0111D=1101,合并后为0011111001111101_2
  2. 转十进制:按权展开:

题2

题干:用8位补码计算29 - 47,写出运算过程并验证结果。 解答:

  1. +29的8位补码为00011101
  2. 求-47的8位补码:+47的二进制为00101111,取反得11010000,加1得11010001
  3. 相加:00011101 + 11010001 = 11101110
  4. 结果转十进制:补码11101110减1得11101101,取反得10010010,对应-18,验证29-47=-18,计算正确。

题3

题干:某双声道音频的采样率为48kHz,采样深度为24位,时长为3分钟,求文件大小为多少MB(保留1位小数,)。 解答: 代入公式: 转MB:

9. 速查表 (Quick Reference Cheatsheet)

知识点 核心规则
数制转换 二进制↔十进制:按权展开/除2取余;二进制↔十六进制:4位分组转换
补码 n位范围:;负数补码=正数反码+1
浮点数 结构:符号位+阶码+尾数;规格化要求尾数最高位为1
字符编码 ASCII:7位128字符;UTF-8:可变长,兼容ASCII,支持全球语言
图像 位图放大失真,矢量图放大不失真
音频 文件大小 =

10. 接下来怎么学

本章节是计算机科学的基础,后续的处理器运算、数据压缩、文件存储等章节都会用到这里的知识点,尤其是补码运算和存储容量计算,会在Paper 1的系统架构题和Paper 2的编程题中交叉考察,建议你配合近5年的真题专项练习巩固考点。 如果你在刷题过程中遇到任何数据表示相关的疑问,都可以随时到小欧提问,我们会提供针对性的讲解和练习资源。

本指南内容对齐 CIE 剑桥国际 AS & A Level 计算机科学 9618 考纲。OwlsAi 与 Cambridge Assessment International Education 无附属关系。

← 返回章节主页

某道题卡住了?
拍照或粘贴题目 — 小欧(我们的 AI 学习助手)会一步步讲解并配示意图。
免费试用小欧 →