3.3 定点加 减运算
计算机内的加减运算一般用补码实现
1. 补码定点加减法规则
假设A B是带符号的n位二进制定点整数 其补码形式为
[A] =a a …… a [B] =b b …… b
补 n-1 n-2 0 补 n-1 n-2 0
则 [A+B]补和[A-B]补 的运算表达式为
对于整数
[A+B]补 = ([A]补+[B] 补) MOD 2n
[A-B]补 = ([A]补+[-B] 补) MOD 2n
对于小数
[A+B]补 = ([A]补+[B] 补) MOD 2
[A-B]补 = ([A]补+[-B] 补) MOD 2
1
3.3 定点加减运算
在补码系统内 位补码加 减法的原则是
n /
– 加法规则 两个n位数的补码相加 来自最高位的进位可
丢掉 取模 所以可用一个无符号加法器生成各位的
和
– 减法规则 一个数的补码与另一个负数的补码相加 其
和数就是这个数减去另一个数的绝对值的补码 即 求
两个数差的补码可用第一个数的补码加上另一数负数的
补码得到
– 溢出规则 运算的结果必须考虑是否产生了溢出 若两
个同号数相加 其结果的符号与两个加数的符号不同
则发生溢出 通常将“ 结果大于最大能表示的正数”称为
正溢出 而把“ 结果小于最小能表示的负数”称为负溢出
书上提的上溢和下溢的概念用于浮点数溢出 特此说明
2
3.3 定点加减运算
2 补码加/减法器
由上述规则可知 补码加减法器只要在原无符
号加法器的基础上增加
求负数补码 的电路和 溢出检查 电路
“ ” “ ”
无符号加法器 可实现补码加法
实现无符号数A和B相加 和数S
考虑低位进位C 生成和
0
数S和向高位的进位Cn Cn 加法器 C0
前面介绍的行波加法器 先行进
位加法器等都是无符号加法器 A B
3
无符号加法器实现补码加法举例
设 A=11011,B=01001
则 A 和B 的值分别为-0101 +1001
A加