第三章运算方法和运算部件 口数据的表示方法和转换 口带符号数的表示方法及加减运算 口二进制乘法运算 口二进制除法运算 口浮点数的运算方法 口运算部件 口数据校验码 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 第三章 运算方法和运算部件 运算方法和运算部件 数据的表示方法和转换 带符号数的表示方法及加减运算 二进制乘法运算 二进制除法运算 浮点数的运算方法 运算部件 数据校验码
33二进制乘法运算 、定点数一位乘法 1、定点原码一位乘法 口用原码实现乘法运算十分方便,在定点运算中,完成两个 原码表示得数相乘时,乘积得符号由两数得符号位按位相 加(异或)得到,而乘积得数值部分则是两个数得绝对值 之积。可以表示为 口被除数]原=Xs.X1X2.n 口乘数Y]原=Ys.Y1Y2…Yn 口乘积[2原=(xsYs)(0.×1x2.Xn)(0Y1Y2n) 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 一、定点数一位乘法 1、定点原码一位乘法 用原码实现乘法运算十分方便,在定点运算中,完成两个 原码表示得数相乘时,乘积得符号由两数得符号位按位相 加(异或)得到,而乘积得数值部分则是两个数得绝对值 之积。可以表示为: 被除数 [X]原=Xs.X1X2……Xn 乘 数 [Y]原=Ys.Y1Y2……Yn 乘 积 [Z]原=(Xs⊕Ys).(0.X1X2….Xn)(0.Y1Y2….Yn)
33二进制乘法运算 口符号法则:同号相乘为正(O),异号相乘为负(1), xsYs=00.01,10,11), 所以积得符号可按“异或”运算得到。 口数值部分运算法则:与普通十进制小数乘法相似。 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 符号法则:同号相乘为正(0),异号相乘为负(1), (XsYs=00,01,10,11), 所以积得符号可按“异或” 运算得到。 数值部分运算法则:与普通十进制小数乘法相似
33二进制乘法运算 口例,Ⅹ=0.1101,Y=0.1011,求X*Y=? 手工方法 机器方法 0.1101( 0.1101 ×0.1011(Y ×0.1011 1101.P1 0.00001101 1101.P2 0.0001101 0000. P3 0000000 +1101. P4 +001101 10001111.P 010001111 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 例,X=0.1101,Y=0.1011,求X*Y=? 手工方法 机器方法 0.1101(X) 0.1101 ×0.1011(Y) × 0.1011 1101……P1 0.0000 1101 1101……..P2 0.0001 101 0000………P3 0.0000 00 + 1101………..P4 + 0.0110 1 10001111……P 0.1000 1111
33二进制乘法运算 口机器运算与手工运算方法区别在于 (1)机器一次只能进行两个数相加,所以P1+P2+P3+P4必 须分步进行:P1+P2;(P1+P2)+P3;:[(P1+P2)+P3]+P4。 (2)每做完一次加运算,把部分积右移一位(相当于把被加 数右移,而不是左移),移出得数码不参加运算,故机器 的位数可以固定。 口由此可以分析出机器乘法运算得基本规律。 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 机器运算与手工运算方法区别在于: (1) 机器一次只能进行两个数相加,所以P1+P2+P3+P4必 须分步进行:P1+P2; (P1+P2)+P3; [(P1+P2)+P3]+P4。 (2) 每做完一次加运算,把部分积右移一位(相当于把被加 数右移,而不是左移),移出得数码不参加运算,故机器 的位数可以固定。 由此可以分析出机器乘法运算得基本规律
33二进制乘法运算 口原码机器乘法规律: 当所乘得乘数为1时,则上次所得的部分积(最初为0)加 被乘数右移一位,而得新的次一部分积;若所乘的乘数为0 时,则上次所得的部分积加0右移一位后就是新的次一部分 积。如此反复,直到乘数各位都乘完为止。 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 原码机器乘法规律: 当所乘得乘数为1时,则上次所得的部分积(最初为0)加 被乘数右移一位,而得新的次一部分积;若所乘的乘数为0 时,则上次所得的部分积加0右移一位后就是新的次一部分 积。如此反复,直到乘数各位都乘完为止
3.3二进制乘法运算 口例,Ⅹ=0.1101,Y=0.1011,求X*Y=?机器算法如下 0000初始化值 +1101 1101 1101 y +1101 100111 100111.P2 =0+0000 100111 100111 P3 +1101 10001111 10001111.P4=P 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 例,X=0.1101,Y=0.1011,求X*Y=?机器算法如下: 0000 初始化值 y=1 + 1101 1101 110 1………..P1 y=1 + 1101 10011 1 1001 11………P2 y=0 + 0000 1001 11 100 111……..P3 y=1 + 1101 10001 111 1000 1111……P4=P
33二进制乘法运算 口一般而言,设被乘数X,乘数Y都是小于1的n位定点正数: X=0.X. X Y=0.Y n 其乘积为: X*Y=X(0.Y1Y2……Yn =X(Y121+Y2+.…+Yn2) =21(Yx+2(Y2X+21(…….+2(Yn1X+2(YnX+0)……) 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 一般而言,设被乘数X,乘数Y都是小于1的n位定点正数: X=0. X1 X2………. Xn Y=0. Y1Y2………. Yn 其乘积为: X*Y=X(0. Y1Y2……Yn) =X(Y12-1+Y22-2+…….+Yn2-n) =2-1(Y1X+2-1(Y2X+2-1(……+2-1(Yn-1X+2-1(YnX+0))……)))
33二进制乘法运算 口令P表示第次的部分积,则上式可写成如下递推公式 P2-( X+Po) P2=2(YnX+P P=2(Y n-i+1 X+Z1) P= X*Y=2-(Y,X+P n 此处的PP1…Pn1为部分积,Pn为最终的乘积P 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 令Pi表示第i次的部分积,则上式可写成如下递推公式: P0=0, P1=2-1(YnX+P0), P2=2-1(Yn-1X+P1), Pi=2-1(Yn-i+1X+Zi-1), P n =X*Y=2-1(Y1X+Pn-1) 此处的P0,P1…Pn-1为部分积,Pn为最终的乘积P
33二进制乘法运算 口上述乘法运算的递推算法可用流程图来表示:(P74图3.6) PF=0,=0 N YI Pi+O Pi+X PiY右移一位j=i计1 In? 结束 夫学 Wuhan University 设缓学UD
计算机学院(XBXU) 3.3 二进制乘法运算 二进制乘法运算 上述乘法运算的递推算法可用流程图来表示:(P74图3.6) 开始 Pi=0, i=0 Yn=1 Pi+0 Pi+X Pi,Y右移一位,i=i+1 i=n? 结束 N Y N Y