计组笔记 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.xxxx形式
- 舍入处理
- 判断溢出
2.4 算术逻辑单元(ALU)
- 功能:加法器、减法器、乘法器、除法器、逻辑运算。
- 常见电路:
- 串行加法器(逐位)
- 并行加法器(加快运算,可能有进位延迟)
重点公式
易混淆
- 补码与反码区别:负数补码=反码+1。
- 移码:用于浮点数阶码,偏置127(单精度)。
- 移位运算:逻辑移位填0,算术移位符号位不变。
习题高频考点
- 进制转换:二进制 ↔ 八进制 ↔ 十六进制;小数部分要注意乘除法取整。
- 定点/浮点表示范围:符号位与数值位的区别;定点范围是 $[-2^{n-1}, 2^{n-1}-1]$;浮点数考 IEEE 754 单精度格式(1+8+23)。
- 原码、反码、补码:正数相同,负数的反码=按位取反+补1;补码可唯一表示0,考试常考“最小负数”。
- 字符编码:ASCII 码7位(或8位扩展);常考范围是0–127。
- 运算溢出判断:补码加减法时,正溢出/负溢出规则;移位运算要区分算术移位与逻辑移位。
- 浮点数运算步骤:对阶 → 尾数运算 → 规格化 → 舍入 → 溢出判断;常考舍入与规格化细节。
- 校验码:奇偶校验、循环冗余校验 CRC,考原理和计算。
- 性能指标:MIPS、MFLOPS 公式,CPI 计算,常考“已知频率、CPI和指令数,算执行时间”。
速记
- 数制转换口诀:整数除基倒,小数乘基顺。
- 补码范围:-2^(n-1) ~ 2^(n-1)-1
- 浮点数=符号+阶码+尾数,阶码=指数+127。
- 浮点运算五步:对阶 → 运算 → 规格化 → 舍入 → 溢出判定。
- BCD码:8421最常考,余3码常用于自补。
本文由作者按照 CC BY-NC 4.0. 进行授权
...






Comments
评论区