半加、全加、超前进位
1.半加:
不考虑进位输入时,两数码X,Y相加称为半加。运算结果H为半加和。
X⊕Y = H
0 0 → 0
1 0 → 1
0 1 → 1
1 1 → 0
2.全加:
两数码X,Y及进位输入C相加称为全加。运算结果F称为全加和。
X⊕Y⊕C = F C1
0 0 0 → 0 0
0 0 1 → 1 0
1 0 0 → 1 0
1 0 1 → 0 1
0 1 0 → 1 0
0 1 1 → 0 1
1 1 0 → 0 1
1 1 1 → 1 1
3.超前进位:
同时形成各位的进位,进位的产生超前于和,从而实现快速加法。
* 进位C1的形成条件(任一即可):
(1)X1,Y1均为1;
(2)X1,Y1任一个为1,且进位C0为1。
由此,可得C1的表达式为:
C1 = X1Y1 +(X1+Y1)C0
* 进位C2的形成条件(任一即可):
(1)X2、Y2均为1;
(2)X2、Y2任一为1,且X1、Y1均为1。
(3)X2、Y2任一为1,且X1、Y1任一为1,且C0为1。
由此可得C2表达式为:
C2 = X2Y2 +(X2+Y2)X1Y1 +(X2+Y2)(X1+Y1)C0
同理,C3的表达式为:
C3 = X3Y3 + (X3+Y3)X2Y2 + (X3+Y3)(X2+Y2)X1Y1 + (X3+Y3)(X2+Y2)(X1+Y1)C0
4.进位传递函数P和进位产生函数G。
P = X + Y
G = X • Y
将P、G代入C式,便可得:
C1 = G1 + P1C0
C2 = G2 + P2G1 + P2P1C0
C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0