文章

计组笔记 02 计算机数据的表示和运算

计算机通过多种数制与编码(如二进制、BCD、补码)实现数据表示与运算,其中补码是定点数运算的核心形式。 浮点数采用 IEEE 754 标准,通过阶码与尾数表示大范围数值,其运算需经过对阶、运算、规格化等步骤以保证精度与正确性。。

计组笔记 02 计算机数据的表示和运算

第2章 计算机数据的表示和运算

2.1 数制与编码

1. 常用数制

  • 二进制 (Binary, B):存储与运算的基础,硬件实现简单。
  • 八进制 (Octal, O):每3位二进制对应1位八进制。
  • 十进制 (Decimal, D):人类常用。
  • 十六进制 (Hex, H):每4位二进制对应1位十六进制。

进制表示公式

其中:r为基数,Di为第i位数码。

2. 数制转换方法

  • 十进制 → 其他进制
    • 整数部分:除基取余,逆序排列。
    • 小数部分:乘基取整,顺序排列。
  • 其他进制 → 十进制
    逐位展开计算即可。

3. BCD码(Binary-Coded Decimal)

  • 用二进制4位表示1位十进制数(0–9),如:
    • (9)₁₀ = (1001)BCD
  • 常见扩展码:8421码、2421码、余3码。

2.2 定点数表示与运算

1. 定点数分类

  • 无符号数:仅表示正数。
  • 有符号数:最高位为符号位,0=正,1=负。

2. 常见表示方法

  • 原码:符号位+绝对值。
  • 反码:正数同原码,负数=符号位1+数值逐位取反。
  • 补码:正数同原码,负数=反码+1(运算常用)。

范围:

3. 运算规则

补码加法器统一实现加减法

算术移位:带符号数左移相当于乘2,右移相当于除2。


2.3 浮点数表示与运算

1. 浮点数表示

  • M 尾数(带符号,小数形式)
  • E 阶码(带符号,决定数值范围)
  • R 基数(常取2或16)

2. IEEE 754 标准(32位单精度)

  • 1位符号S + 8位阶码E + 23位尾数M
  • 阶码采用 移码(偏移127)

特殊值:

  • E=255 且M≠0 → NaN
  • E=255 且M=0 → ±∞

3. 浮点数运算步骤

  1. 对阶 → 比较指数,尾数右移对齐
  2. 尾数加减
  3. 规格化 → 保持1.xxxx形式
  4. 舍入处理
  5. 判断溢出

2.4 算术逻辑单元(ALU)

  • 功能:加法器、减法器、乘法器、除法器、逻辑运算。
  • 常见电路:
    • 串行加法器(逐位)
    • 并行加法器(加快运算,可能有进位延迟)

重点公式


易混淆

  • 补码与反码区别:负数补码=反码+1。
  • 移码:用于浮点数阶码,偏置127(单精度)。
  • 移位运算:逻辑移位填0,算术移位符号位不变。

习题高频考点

  1. 进制转换:二进制 ↔ 八进制 ↔ 十六进制;小数部分要注意乘除法取整。
  2. 定点/浮点表示范围:符号位与数值位的区别;定点范围是 $[-2^{n-1}, 2^{n-1}-1]$;浮点数考 IEEE 754 单精度格式(1+8+23)。
  3. 原码、反码、补码:正数相同,负数的反码=按位取反+补1;补码可唯一表示0,考试常考“最小负数”。
  4. 字符编码:ASCII 码7位(或8位扩展);常考范围是0–127。
  5. 运算溢出判断:补码加减法时,正溢出/负溢出规则;移位运算要区分算术移位与逻辑移位。
  6. 浮点数运算步骤:对阶 → 尾数运算 → 规格化 → 舍入 → 溢出判断;常考舍入与规格化细节。
  7. 校验码:奇偶校验、循环冗余校验 CRC,考原理和计算。
  8. 性能指标:MIPS、MFLOPS 公式,CPI 计算,常考“已知频率、CPI和指令数,算执行时间”。

速记

  • 数制转换口诀:整数除基倒,小数乘基顺。
  • 补码范围:-2^(n-1) ~ 2^(n-1)-1
  • 浮点数=符号+阶码+尾数,阶码=指数+127。
  • 浮点运算五步:对阶 → 运算 → 规格化 → 舍入 → 溢出判定。
  • BCD码:8421最常考,余3码常用于自补。
本文由作者按照 CC BY-NC 4.0. 进行授权
...

Comments

评论区

碎片之中

正在加载中...