2.计算机数据的表示与运算.md 4.1 KB

🧮 计算机组成原理——数据的表示与运算(考研复试终极版)

🔢 一、数制与编码

1.1 进制转换四步法

十进制 → 二进制 → 八/十六进制
↑_____________↓
按权展开法      分组转换法

步骤分解

  1. 十进制转二进制:整数除2取余倒序,小数乘2取整正序
    ▸ 类似拼积木:把数字拆解成2的幂次组合
  2. 二进制转八/十六进制:每3/4位为一组转换
    ▸ 快递分箱:把长串二进制拆成小包裹处理
  3. 补码快速转换:符号位不变,末尾+1
    ❗ 误区:补码的符号位参与运算,原码不能直接加减

📊 特殊值表

十进制 二进制 补码(8位)
+5 00000101 00000101
-5 10000101 11111011

🔀 二、定点数表示

2.1 原码→补码三步走

[原码] → 取反 → +1 → [补码]
↑_____________________↓

步骤分解

  1. 正数:原码=补码(直接照抄)
  2. 负数:符号位不变,数值位取反+1
    ▸ 温度计原理:-5°C相当于补码的"借位"表达
  3. 特殊值-128:补码10000000无原码
    ❗ 注意:8位补码范围-128~127,不是对称区间

📜 编码对比

类型 +5表示 -5表示 零表示
原码 00000101 10000101 两种
补码 00000101 11111011 唯一

🌊 三、浮点数表示(IEEE754标准)

3.1 浮点解码五要素

符号位 | 阶码(移码) | 尾数(隐藏1)
[1位]  [8位]          [23位]

步骤分解

  1. 符号判定:0正1负
  2. 阶码计算:移码值-127(单精度)
    ▸ 电梯楼层:阶码决定数值的"数量级"
  3. 尾数还原:补上隐藏的1
    ❗ 陷阱:非规格化数(阶码全0)不加隐藏位

📐 实例解析
0 10000010 10100000000000000000000
\= +1.101×2^(130-127) = +1.625×8 = 13


⚙️ 四、运算核心原理

4.1 定点加减运算

  [A]补 + [B]补 = [A+B]补
  ↓
符号位参与运算 → 自动处理正负

操作步骤

  1. 统一转补码形式
  2. 直接二进制加法
  3. 溢出检测(双符号位法)
    ▸ 水桶理论:运算结果超出容器容量会溢出
  4. 结果还原
    ❗ 关键:符号位产生进位要丢弃

📈 溢出判断矩阵

符号位组合 结果
00/11 正常
01/10 溢出

🧮 五、浮点运算流程

5.1 加减运算五步曲

对阶 → 尾数运算 → 规格化 → 舍入 → 溢出判断
↑____________________________↓

详细步骤

  1. 对阶:小阶向大阶看齐(右移尾数)
    ▸ 单位统一:把米和厘米都转成毫米再计算
  2. 规格化:尾数首位必须为1
    ❗ 易错:左规可能多次进行(如00.01→0.1×2^-1)
  3. 舍入处理:0舍1入法 vs 恒置1法
    ▸ 四舍五入的二进制版本

📝 实例演示
0.5 + 0.25 = ?
0.1×2^0 + 0.01×2^0 → 对阶后:0.10+0.01=0.11 → 结果0.11×2^0=0.75


🔍 六、校验码原理

6.1 奇偶校验三板斧

数据位 → 计算奇偶位 → 传输 → 接收校验
↑_________________________↓

操作流程

  1. 发送端:统计1的个数,补奇/偶校验位
    ▸ 班级点名:确保总人数是奇数/偶数
  2. 接收端:重新计算校验位比对
    ❗ 局限:只能发现奇数位错误

📊 校验方式对比

类型 检测能力 冗余位
奇偶校验 奇数位错 1位
CRC 多bit错 多位

参考资料:
[1] 冯诺依曼体系基础
[24] IEEE754标准详解
[40] 定点数运算实例
[28] 校验码实现原理