第2节定点加减运算及硬件实现 一、补码的加法 能利用补码加法公式进行计算;看懂教材的推 导(但不要求学生自己推导) 二、补码的减法 能利用补码减法公式进行计算;看懂教材的推 导(但不要求学生自己推导) 三、溢出问题 四、基本的二进制加法器/减法器(行波,北邮 CAI光盘)
第2节定点加减运算及硬件实现 一、补码的加法 能利用补码加法公式进行计算;看懂教材的推 导(但不要求学生自己推导) 二、补码的减法 能利用补码减法公式进行计算;看懂教材的推 导(但不要求学生自己推导) 三、溢出问题 四、基本的二进制加法器/减法器(行波, 北邮 CAI光盘)
一、补码的加法p26,第4版) [x]补十[y]补=[x十y]林 (mod 2n+1 现分四种情况来证明。假设采用定点整数表示,因此 证明的先决条件是|x|<(2-1),|y|<(2n-1), |x+y|<(2n-1)。 证明中将利用补码的公式定义(公式表示)。 (1)x>0,y>0,则x十y>0。 相加两数都是正数,故其和也一定是正数。正数的补码和原 码是一样的,可得: [x]补十[y]补=x+y=【x十y]补 (m0d2+1
一、补码的加法(p26,第4版) [x]补+[y]补=[x+y]补 现分四种情况来证明。假设采用定点整数表示,因此 证明的先决条件是︱x︱﹤(2 n- 1), ︱y︱﹤ (2 n-1), ︱x+y︱﹤ (2 n-1) 。 证明中将利用补码的公式定义(公式表示)。 (1)x﹥0,y﹥0,则x+y﹥0。 相加两数都是正数,故其和也一定是正数。正数的补码和原 码是一样的,可得: [x]补+[y]补=x+y=[x+y]补 (mod 2n+1) (mod 2 n+1 )
2)x>0,<0,则x十y>0或x十y<0。 相加的两数一个为正,一个为负,因此相加结果有正、负两种可能 。根据补码定义, [x]补=X, [y]补=2+1十y(用了朴码定义) .[x]补十[y]林=x+2n+1十y=2+1十(x十y) A当x+y>0时,2n+1+(x十y)>2n+1进位必丢失,又因 (x+y)>0, 故[x]补十[]补=X十y=[x十y]补 (mod 2n+1) B当x+y<0时,2n+1+(x+y)<2n+1,又因(x+y)<0 故[x]补十[y]补=2+1十(x+y)=[x+y]补(mod2+1) 3)x<0,y>0,则x十y>0或x+y<0。 这种情况和第2种情况一样,把x和y的位置对调即得证
(2)x﹥0,y﹤0, 则x+y>0或x+y<0。 A 当x+y>0时, 2 n+1 + (x+y) > 2 n+1,进位必丢失,又因 (x+y)>0, 故[x]补+[y]补=x+y=[x+y]补 (mod 2 n+1 ) B 当x+y<0时, 2 n+1 + (x+y) < 2 n+1 ,又因(x+y)<0 , 故 [x]补+[y]补= 2 n+1 +(x+y)=[x+y]补 (mod 2 n+1 ) (3)x<0,y>0,则x+y>0或x+y<0。 这种情况和第2种情况一样,把x和y的位置对调即得证。 相加的两数一个为正,一个为负,因此相加结果有正、负两种可能 。根据补码定义, ∵ [x]补=x, [y]补=2 n+1+y(用了补码定义) ∴ [x]补+[y]补=x+ 2 n+1 +y= 2 n+1 +(x+y)
(4)x<0,y<0,则x+y<0。 相加两数都是负数,则其和也一定是负数。 [X]补=2n+1十x, [y]补=2+1十y .[x]外+[y]4=21+x+21+y=21十 (2n+1+x+y) 上式右边分为”2+1”和(2+1+x+y)两部分.既然(x+y)是 负数,而其绝对值又小于2n-1,那么(2+1十x+y)就一定是小于2n+1 而大于2n-1的数,进位”2n+1”必丢失.又因(x十y)<0,所以 [x]补+[y]补=2n+1+(x+y)=[x+y]补 (mod 2n+1)
(4)x<0,y<0,则x+y<0。 相加两数都是负数,则其和也一定是负数。 ∵ [x]补= 2 n+1 +x, [y]补= 2 n+1 +y ∴ [x]补+[y]补= 2 n+1 +x+ 2 n+1 +y= 2 n+1 + (2n+1 +x+y) 上式右边分为” 2 n+1 ”和(2 n+1 +x+y)两部分.既然(x+y)是 负数,而其绝对值又小于2 n-1,那么(2 n+1+x+y)就一定是小于2 n+1 而大于2 n-1的数,进位”2 n+1 ”必丢失.又因(x+y)<0, 所以 [x]补+[y]补= 2 n+1 +(x+y)=[x+y]补 (mod 2n+1 )
一、补码的加法(p31,第3版) [xl补十[y]补=[x+yl补(mod2) 现分四种情况来证明。假设采用定点小数表示,因 此证明的先决条件是|x|<1,|y|<1,|x+yI <1。 证明中将利用补码的公式定义(公式表示)。 (1)x>0,y>0,则x十y>0。 相加两数都是正数,故其和也一定是正数。正数的补码 和原码是一样的,可得: [x]补十[y]补=X十y=[X十y]补 (mod 2)
一、补码的加法(p31,第3版) [x]补+[y]补=[x+y]补 现分四种情况来证明。假设采用定点小数表示,因 此证明的先决条件是︱x︱﹤1, ︱y︱﹤1, ︱x+y︱ ﹤1。 证明中将利用补码的公式定义(公式表示)。 (1)x﹥0,y﹥0,则x+y﹥0。 相加两数都是正数,故其和也一定是正数。正数的补码 和原码是一样的,可得: [x]补+[y]补=x+y=[x+y]补 (mod 2) (mod 2)