跳转至

定点数运算

概述

定点数运算

定点数的算术运算,包括加减乘除。

加减运算

补码加减运算

补码加减

补码表示下,加减运算统一为加法。

规则:

  • 加法: [A+B]补 = [A]补 + [B]补
  • 减法: [A-B]补 = [A]补 + [-B]补

示例: 5 - 3

[5]补 = 00000101 [-3]补 = 11111101 [5-3]补 = 00000101 + 11111101 = 00000010 = 2

溢出判断

溢出判断

运算结果超出表示范围。

判断方法:

  • 双符号位法: 结果双符号位不同则溢出
  • 单符号位法: 正正得负或负负得正则溢出

乘法运算

乘法运算

通过移位和加法实现。

原码乘法:

  1. 符号位单独处理
  2. 数值部分按位乘
  3. 部分积累加

补码乘法: Booth算法

除法运算

除法运算

通过移位和减法实现。

原码除法:

  1. 符号位单独处理
  2. 试商判断
  3. 余数左移

补码除法: 加减交替法

参考资料