定点数运算¶
概述¶
定点数运算
定点数的算术运算,包括加减乘除。
加减运算¶
补码加减运算¶
补码加减
补码表示下,加减运算统一为加法。
规则:
- 加法: [A+B]补 = [A]补 + [B]补
- 减法: [A-B]补 = [A]补 + [-B]补
示例: 5 - 3
[5]补 = 00000101
[-3]补 = 11111101
[5-3]补 = 00000101 + 11111101 = 00000010 = 2
溢出判断¶
溢出判断
运算结果超出表示范围。
判断方法:
- 双符号位法: 结果双符号位不同则溢出
- 单符号位法: 正正得负或负负得正则溢出
乘法运算¶
乘法运算
通过移位和加法实现。
原码乘法:
- 符号位单独处理
- 数值部分按位乘
- 部分积累加
补码乘法: Booth算法
除法运算¶
除法运算
通过移位和减法实现。
原码除法:
- 符号位单独处理
- 试商判断
- 余数左移
补码除法: 加减交替法