第一章 计算机科学基础(0~1 分)
约 1815 字大约 6 分钟
2026-10-04
属于零星考点,但概念清楚后基本是送分题。 知识地图:数制及其转换 → 计算机内数据的表示 → 编码基础(CRC)
知识讲解
一、数制及其转换
计算机只认 0 和 1,人习惯十进制,为了书写方便还有八进制和十六进制。
任意进制 → 十进制:按权展开
10112=1×23+0×22+1×21+1×20=11
十进制 → 二进制:整数部分「除 2 取余,余数倒着写」;小数部分「乘 2 取整,整数顺着写」。
二进制 ↔ 八进制 / 十六进制:分组转换
| 转换方向 | 分组方法 | 例子 |
|---|---|---|
| 二 → 八 | 3 位一组 | 1011102=568 |
| 二 → 十六 | 4 位一组 | 101110102=BA16 |
二、计算机内数据的表示
计算机中的数据分两大类:
- 数值数据:定点数、浮点数、无符号数(能拿来做算术的)
- 非数值数据:文本、图形图像、音频视频(符号类信息)
1. 定点数与浮点数
定点数:小数点位置固定不动,要么约定为纯整数,要么约定为纯小数。
浮点数:小数点位置可以浮动,本质上就是二进制版的科学计数法(类似 1.5×103)。
n=2e×m
浮点数在机器里的样子:阶符 | 阶码 | 数符 | 尾数
| 部件 | 是什么 | 常用什么码制 | 决定什么 |
|---|---|---|---|
| 阶码 e | 指数,定点整数 | 移码 | 表示范围 |
| 尾数 m | 纯小数 | 原码 / 补码 | 表示精度 |
浮点数两大铁律(考试最爱)
- 阶码 e 的位数越多 → 能表示的范围越大
- 尾数 m 的位数越多 → 能表示的精度越高
一句话记住:指数定范围,尾数定精度。
2. 各种码制的表示范围(重点表格)
n 位机器字长(含 1 位符号位):
| 码制 | 定点整数 | 定点小数 |
|---|---|---|
| 原码 | −(2n−1−1)∼+(2n−1−1) | −(1−2−(n−1))∼+(1−2−(n−1)) |
| 反码 | −(2n−1−1)∼+(2n−1−1) | −(1−2−(n−1))∼+(1−2−(n−1)) |
| 补码 | −2n−1∼+(2n−1−1) | −1∼+(1−2−(n−1)) |
| 移码 | −2n−1∼+(2n−1−1) | −1∼+(1−2−(n−1)) |
怎么直观理解这张表?
- n 位编码总共 2n 个格子,不管什么码制,格子总数不变,只是分配方式不同
- 原码 / 反码:正负对称,但 +0 和 −0 占了两个格子,浪费了一个 → 比 2n−1 少 1
- 补码 / 移码:0 只有唯一样子,省出一个格子分给最小负数 → 多表示一个 −2n−1
- 补码定点小数最特殊:最小能到 −1,别的码制只能到 −(1−2−(n−1))
3. 编码基础
本节主角是 CRC 循环冗余校验码,另外还有海明码(纠错)和霍夫曼编码(压缩),本章只考 CRC。
CRC 是干嘛的? 数据传输时可能出错,发送方按规则在数据尾巴上挂一小段「校验码」,接收方用同样规则验一遍,余数不是 0 就说明传坏了。
三步拿下 CRC:
- 添 0:生成多项式最高次幂是几,就在原始信息后面添几个 0(设为 k 个)
- 模 2 除法:用添 0 后的数除以生成多项式对应的二进制串。模 2 除法就是连续做 XOR(不进位、不借位)
- 接尾巴:把 k 位余数接在原始信息后面,就是最终 CRC 编码
手把手算一遍(对应本站题目 6)
原始信息 1100,生成多项式 x3+x+1(对应二进制 1011):
- 最高次幂 3 → 添 3 个 0:1100 000
- 1100000÷1011(模 2 除法)→ 余数 010
- CRC 编码 = 1100 + 010 = 1100010 ✅
题目
先做题,再看答案
以下 6 题按考核方式分组,答案与解析统一放在最后一节,做完再往下翻~
考核方式 1:浮点数的特点
第 1 题 浮点数在机器中的表示形式如下,若阶码长度为 e,尾数长度为 m,以下叙述正确的是( )
- ① e 的值影响浮点数的范围,e 越大,范围越大
- ② e 的值影响浮点数的精度,e 越大,精度越高
- ③ m 的值影响浮点数的范围,m 越大,范围越大
- ④ m 的值影响浮点数的精度,m 越大,精度越高
A. ①③ B. ②③ C. ①④ D. ②④
第 2 题 某机器浮点数格式允许非规格化表示:阶符 1 位、阶码 4 位(补码)、数符 1 位、尾数 10 位(原码)。则 1000100000000001 表示的浮点数是( )
- A. 2−16×2−10
- B. 2−15×2−10
- C. 2−16×(1−2−10)
- D. 2−15×(1−2−10)
第 3 题 某浮点数格式:7 位阶码(含 1 位符号,移码)、9 位尾数(含 1 位符号,规格化补码)。它能表示的数的范围是( )
- A. −263∼(1−2−8)×263
- B. −264∼(1−2−7)×264
- C. −(1−2−8)×263∼263
- D. −(1−2−7)×264∼(1−2−8)×263
考核方式 2:定点数的特点
第 4 题 机器字长为 n 位的二进制数,用补码可以表示( )个不同的有符号定点小数。
A. 2n B. 2n−1 C. 2n−1 D. 2n−1+1
第 5 题 采用 n 位补码(含 1 位符号位)表示数据,可以直接表示的数值是( )
A. 2n B. −2n C. 2n−1 D. −2n−1
考核方式 3:CRC 编码
第 6 题 若数据信息为 1100,生成多项式为 x3+x+1(即 1011),则 CRC 编码是( )
A. 1100010 B. 1011010 C. 1100011 D. 1011110
答案与解析
第 1 题 —— 答案:C
两大铁律的直接应用:阶码定范围(①对),尾数定精度(④对)。②和③正好说反了。
第 2 题 —— 答案:B
先把 16 位串按格式切开:1000100000000001(阶符、阶码、数符、尾数)。
- 阶符 1、阶码补码 0001 → 负数。补码转原码:按位取反加 1,得 1111,即 −15
- 数符 0、尾数原码 0000000001(非规格化)→ +2−10
所以该浮点数 = 2−15×2−10。
第 3 题 —— 答案:A
套公式:R 位阶码(含 1 符号位)、M 位尾数(含 1 符号位)时,范围为
[−22R−1−1, (1−2−(M−1))×22R−1−1]
代入 R=7、M=9:指数最大 26−1=63,尾数最大 1−2−8,即 −263∼(1−2−8)×263。
第 4 题 —— 答案:A
n 位编码就是 2n 个格子,补码没有 ±0 重复问题,每个格子对应一个不同的小数,所以正好 2n 个。
第 5 题 —— 答案:D
n 位补码(含符号位)范围是 −2n−1∼+(2n−1−1):
- A 2n、B −2n:直接爆表 ❌
- C 2n−1:比最大值 2n−1−1 还大 1 ❌
- D −2n−1:正好是最小值 ✅(这是补码独有的「福利位」)
第 6 题 —— 答案:A
按三步走:
- 生成多项式 x3+x+1 最高次幂 3 → 1100 后添 3 个 0 → 1100000
- 1100000÷1011(模 2 除法,一路 XOR)→ 余数 010
- CRC 编码 = 1100 + 010 = 1100010