学习指南

整数的二进制表示

CIE A-Level 计算机科学· 第1单元 信息表示,主题2· 25 分钟阅读

1. 无符号二进制整数★☆☆☆☆⏱ 10 min

📘 定义

无符号二进制整数

nbitunsignedn-bit unsigned

非负整数的表示方式,每个位对应2的幂次权重,最右侧最低有效位的权重为

例:

4位无符号整数可表示0到15

要将无符号二进制数转换为十进制,将每个位乘以对应权重后求和。要将十进制转换为无符号二进制,重复除以2、收集余数,再将余数顺序反转即可。

📐 例题

将5位无符号二进制转换为十进制

  1. 1

    从最右侧开始,为每个位标注对应权重:

  2. 2
    Bit:10110Weight:2423222120=168421\text{Bit}: 1 \quad 0 \quad 1 \quad 1 \quad 0 \\ \text{Weight}: 2^4 \quad 2^3 \quad 2^2 \quad 2^1 \quad 2^0 = 16 \quad 8 \quad 4 \quad 2 \quad 1
  3. 3

    每个位乘以对应权重后求和:

  4. 4
    (1×16)+(0×8)+(1×4)+(1×2)+(0×1)=22(1 \times 16) + (0 \times 8) + (1 \times 4) + (1 \times 2) + (0 \times 1) = 22

Exam tip:

始终从最右侧的0开始计数位位置,不要从1开始,避免权重计算错误。

2. 无符号二进制整数的取值范围★☆☆☆☆⏱ 8 min

对于n位无符号二进制,每个位组合都对应一个唯一的非负整数。最小值为0(所有位都是0),最大值出现在所有位都是1时。

📘 定义

n位无符号二进制的取值范围

总不同值个数 = 。取值范围是(闭区间)。

📐 例题

求6位无符号二进制整数的取值范围,它可以存储多少个不同的值?

  1. 1

    n=6位,计算总不同值个数:

  2. 2
    2n=26=642^n = 2^6 = 64
  3. 3

    最大值等于总个数减1,因为我们从0开始计数:

  4. 4
    Minimum=0,Maximum=641=63\text{Minimum} = 0, \quad \text{Maximum} = 64 - 1 = 63
  5. 5

    最终结果:6位无符号整数可存储64个不同值,范围从0到63。

Exam tip:

CIE经常考察最大值,不是总个数——永远记住要给减1。

3. 符号二进制:二进制补码★★☆☆☆⏱ 15 min

CIE 9618仅考察符号二进制整数的补码表示法,它可以同时表示正整数和负整数。最左侧(最高有效位)权重为负,其余所有位权重为正。

📘 定义

补码符号整数

nbittwoscomplementn-bit two's complement

符号二进制表示法,其中最左侧位的权重为,其余所有位遵循标准无符号权重规则。该表示法简化了二进制运算。

📐 例题

将5位补码转换为十进制

  1. 1

    计算最左侧位的负权重:

  2. 2
    n=5,Leftmost weight=251=16n=5, \quad \text{Leftmost weight} = -2^{5-1} = -16
  3. 3

    列出所有位及其对应权重:

  4. 4
    Bit:11010Weight:168421\text{Bit}: 1 \quad 1 \quad 0 \quad 1 \quad 0 \\ \text{Weight}: -16 \quad 8 \quad 4 \quad 2 \quad 1
  5. 5

    对加权后的位求和得到最终十进制值:

  6. 6
    (1×16)+(1×8)+(0×4)+(1×2)+(0×1)=6(1 \times -16) + (1 \times 8) + (0 \times 4) + (1 \times 2) + (0 \times 1) = -6

Exam tip:

永远不要忘记最高位的负权重——这是补码转换中最常见的错误。

4. 补码整数的取值范围★★☆☆☆⏱ 10 min

补码中会预留一个位表示符号,因此取值范围偏移后可以包含负值。对于相同位长,总不同值个数仍然是,和无符号表示相同。

📘 定义

n位补码的取值范围

最小(最负)值 = ,最大(最正)值 = ,总共有个不同值。

📐 例题

8位补码符号整数的取值范围是什么?

  1. 1

    n=8位,使用范围公式:

  2. 2
    Minimum=2n1=27=128\text{Minimum} = -2^{n-1} = -2^{7} = -128
  3. 3
    Maximum=2n11=271=127\text{Maximum} = 2^{n-1} - 1 = 2^7 - 1 = 127
  4. 4

    最终范围:8位补码可表示从-128到127闭区间的所有整数,总共有256个不同值。

5. 常见陷阱

错误做法:

将n位无符号二进制的最大值记为

原因:

范围从0开始,因此最大值比总可能位组合数少1

正确做法:

n位无符号二进制的最大值是

错误做法:

将8位补码的范围记为-127到128

原因:

最小值是,最大值是,因此负范围比正范围多一个值

正确做法:

8位补码的范围是

错误做法:

转换补码时给最高位赋予正权重

原因:

补码的核心设计就是用负权重的最高位来表示负值

正确做法:

始终将n位补码的最左侧位乘以

错误做法:

计算权重时从1而不是0开始计数位位置

原因:

最右侧位的权重是,因此所有位位置偏移1会导致每个位的权重都错误

正确做法:

从最右侧最低有效位的0开始计数位位置

错误做法:

声称4位无符号整数可表示1到16共16个值

原因:

0是有效的整数,需要被表示,因此无符号二进制的范围永远从0开始

正确做法:

4位无符号整数范围是0到15,总共有16个不同值

6. 速查表

表示方式

总不同值个数

最小值

最大值

n位无符号

4位无符号

16

8位无符号

256

n位补码

4位补码

16

8位补码

256

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 1

    8位补码的取值范围

  • 2023 · 1

    二进制转十进制转换

  • 2024 · 1

    无符号整数范围计算

深入阅读

下一步

二进制整数表示是计算机系统中所有数据存储的基础概念,信息表示的所有后续主题都建立在该知识之上。理解位长和取值范围对于二进制运算、溢出错误、内存寻址,以及表示分数、文本、图像、声音等其他数据类型至关重要。掌握本子主题会让更高级的数制表示概念更容易学习,并且几乎每一次CIE 9618第1卷考试都至少会有一道考察该内容的题目。