二、数据的表示和运算
本章导览
共 6 个小节:数制与编码、数制与编码、运算方法与运算电路、运算方法与运算电路、运算方法与运算电路、浮点数的表示与运算

本章重点
- 数制:二 / 八 / 十六进制转换;补码是定点运算的核心
- 编码:原码、反码、补码、移码;浮点数用 IEEE 754
- 运算:ALU、并行进位加法器、移位、乘除、溢出判断与标志位
数制与编码

关键点
- 进位计数制按权展开;BCD 码用 4 位二进制表示 1 位十进制(0~9)
- 无符号整数 n 位表示 0 ~ 2ⁿ-1
- 二 ↔ 八 / 十六进制:每 3 位 / 4 位一组转换
数制与编码

关键点
- 带符号整数:原码、反码、补码;补码 = 反码 + 1,正数三码相同
- 移码 = 补码符号位取反,常用于浮点数阶码
- 定点小数:小数点位置固定,注意各码的表示范围
进位计数值

关键点
十进制 — 二进制 整数部分:除 2 取余,逆序排列、 除基取余法 十进制 — 二进制 小数部分:乘 2 取整,顺序排列 乘基取整法 拼凑法
BCD 码

关键点
有权码:8421 码和 2421 码 无权码:余 3 码
无符号整数

带符号整数

移码

定点小数

运算方法与运算电路

关键点
- ALU 是运算核心;并行进位加法器(CLA)用先行进位提速
- 补码加减运算器:减法转为加补码,统一用加法实现
- 奇偶校验码:加 1 位校验位检错(只能检奇数位错)
运算方法与运算电路

关键点
- 标志位:CF(进位 / 借位)、OF(溢出)、ZF(零)、SF(符号)
- 移位:逻辑移位补 0,算术移位保留符号位
- 乘除:补码乘法(Booth 算法)、补码除法(加减交替法)
运算方法与运算电路

关键点
- 数据存储:大端(高字节在低地址)vs 小端(低字节在低地址)
- C 语言类型转换:有符号 ↔ 无符号、长 ↔ 短、整 ↔ 浮点,注意精度与截断
- 边界对齐影响数据排列
奇偶校验码

算术逻辑单元

并行进位加法器

补码加减运算器

标志位生成

定点数的移位运算

乘法运算

除法运算

关键点
定点数原码除法运算——恢复余数法 定点数原码除法运算——加减交替法 定点数补码乘法运算
C 语言类型转换

数据的存储和排列

浮点数的表示与运算

关键点
- 浮点数 N = (-1)ˢ × M × 2ᴱ:符号 S、尾数 M、阶码 E;阶码用移码、尾数用原码
- IEEE 754:单精度 32 位(阶 8 尾 23)、双精度 64 位(阶 11 尾 52)
- 运算四步:对阶 → 尾数运算 → 规格化 → 舍入;阶码定范围、尾数定精度
浮点数的表示

IEEE 754

浮点数的运算
