定点加减法运算
- 补码加法:
-
补码减法:
-
求补公式:
溢出的概念
在定点小数机器中,数的表示范围为|x|<1。在运算过程中如出现大于1的现象,称为 “溢出”。
上溢:两个正数相加,结果大于机器所能表示的最大正数;
下溢:两个负数相加,结果小于机器所能表示的最小负数。
1.单符号位法
根据操作数和运算结果的符号位是否一致进行检测。
溢出逻辑表达式(加法)为:
其中,XfYf为运算操作数的符号位,Sf为运算结果的符号位。
2.利用进位值判别
根据运算过程中最高数据位的进位与符号位的进位是否一致进行检测。
溢出逻辑表达式为:
其中,Cd为运算过程中,最高有效数据位产生的进位信号,Cf为符号位产生的进位信号。
当最高有效位有进位而符号位无进位时,产生上溢;
当最高有效位无进位而符号位有进位时,产生下溢。
(正数相加为负数或负数相加为正数,即Cf≠Cd时则产生溢出)
当Cf=Cd时,无溢出。
3.双符号位判别法
根据运算结果的两个符号位是否一致进行检测。
溢出逻辑表达式为:
Sf1Sf2 =00 结果为正数,无溢出
01 结果正溢(上溢)
10 结果负溢(下溢)
11 结果为负数,无溢出
即: 结果的两个符号位的代码不一致时,表示溢出;
两个符号位的代码一致时,表示没有溢出。
不管溢出与否,最高符号位永远表示结果的正确符号。
加减法的逻辑实现
一位加法逻辑电路实现
0 + 1 = 1 1 + 0 = 1
1 + 1 = 0 0 + 0 = 0
一个异或门即可实现自动一位加法
算术运算变成逻辑电路
全加器逻辑实现
4位先行进位电路
这里有些很多没看明白,老师说这个实验用得到,所以先把我觉得重要的,先放在这里