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