收藏 分享(赏)

定点补码一位乘的运算方法.doc

上传人:buyk185 文档编号:6214849 上传时间:2019-04-02 格式:DOC 页数:5 大小:43.50KB
下载 相关 举报
定点补码一位乘的运算方法.doc_第1页
第1页 / 共5页
定点补码一位乘的运算方法.doc_第2页
第2页 / 共5页
定点补码一位乘的运算方法.doc_第3页
第3页 / 共5页
定点补码一位乘的运算方法.doc_第4页
第4页 / 共5页
定点补码一位乘的运算方法.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、定点补码一位乘的运算方法:按乘数为正、负两种情况讨论:1.被乘数x 补 符号任意,乘数y 补 为正设x 补 =x0.x1x2xny补 =y0.y1y2yn根据补码定义可推得: x 补 =2+x=2n+1+x (MOD2)y补 =y=0.y1y2.yn其中 x,y为真值.故: x 补 y补 =(2n+1+x)*y=2n+1+xy =21*2n(0.y1y2.yn)+xy=2(y1y2.yn)+xy注意 0.y1y2.yn被 2n乘已成为正整数.根据模的运算性质有:2(y1y2.yn)=2 (mod 2)所以 x p*yp=2+x*y=x*y补 (mod 2)即 x*y p=xp*yp=xp*y(

2、因为 ys=0为正) =x p* (0.y1y2.yn) (1)当乘数 y0,不管 x的符号如何,将x p*y=x*yp2.被乘数x p符号任意,乘数 y为负x补 =x0.x1x2xny补 =1.y1y2yn =2+y (mod 2)该项得: y=y 补 -2=1.y1y2yn -2=1+0.y1y2.yn-2=0.y1y2.yn-1所以 x*y=x*(0.y 1y2.yn-1)=x*(0.y1y2.yn)-x将上式两边取补 所以有: x*y p=x(0.y1y2.yn)-xp=x(0.y1y2.yn)p-xp= x(0.y1y2.yn)p+ -xp因为 (0.y 1y2.yn)0 正数的补码

3、 = 本身所以 x(0.y 1y2.yn)p= xp*(0.y1y2.yn)所以 x*y p= xp*(0.y1y2.yn) -xp (2) 将(1)和(2)综合起来:得统一的算式x*yp= xp*(0.y1y2.yn) -xp*y0 (3)=xp*(-y0+0.y1y2.yn)分析:右边第二项x p*y0当 y为正 y 0=0 该项不存在 (1)y为负 y 0=1 该项为x p (2)将(3)式展开,推出逻辑实现分步算法:获得各项部分积的累加形式.x*yp= xp*(0.y1y2.yn) -xp*y0= xp*(2-1y1+2-2y2+2-nyn) -xp*y0=xp*-y0+ (y1-2-

4、1y1)+( y22-1-2-2y2)+(2-(n-1)yn-2-nyn)=xp*(y1-y0)+(y2-y1)2-1+(yn-yn-1)2-(n-1)+(yn+1-yn) 2-n说明:(1) 0.y 1y2.yn可写成 2-1y1+2-2y2+2-nyn(2)提公因式x p将 -y 0 提前(3)去括号重新组合(4) y1-2-1y1=(20-2-1)y1=(1-1/2) y1=0.5yy22-1-y22-2=(2-1-2-2)*y2=2-2y2x*y补 = x补 *(0.y1y2.yn) -x补 *y0= x补 *(2-1y1+2-2y2+2-nyn) -x补 *y0=x补 *-y0+ (

5、y1-2-1y1)+( y22-1-2-2y2)+(2-(n-1)yn-2-nyn)=x补 *(y1-y0)+(y2-y1)2-1+(yn-yn-1)2-(n-1)+(yn+1-yn) 2-n将x p乘进去,然后从第 2项开始,每次提 2-1=(y1-y0)xp+(y2-y1)2-1xp+(yn+1-yn)2-nxp=(y1-y0)xp+2-1(y2-y1)xp+(y3-y2)2-1xp+(y4-y3) 2-2xp+(yn+1-yn) 2-(n-1) xp1=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+(y4-y3)2-1xp+(yn+1-yn) 2-(n-2)xp

6、21=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+2-1(y4-y3)xp+(yn+1-yn) 2-(n-3)xp321=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+2-1(y4-y3)xp+2-1 (yn-yn-1)xp +2-1 (yn+1-yn)xpnnn-1321说明:式中 yn+1是增设的附加位,初始值位 0.ai取决于相邻两位乘数的比较结果显然(4)式就是部分积累加的形式若定义p 0补位初始部分积=0. p1补 pn补 依次位各步求得的累加并右移后的部分积.将(4)改写:更接近于分步运算逻辑实现x*yp=xp*(y1-y0)+

7、(y2-y1)2-1+(yn-yn-1)2-(n-1)+(yn+1-yn) 2-n将x p乘进去,然后再次提 2-1=(y1-y0)xp+(y2-y1)2-1xp+(yn+1-yn)2-nxp=(y1-y0)xp+2-1(y2-y1)xp+(y3-y2)2-1xp+(y4-y3) 2-2xp+(yn+1-yn) 2-(n-1) xp1=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+(y4-y3)2-1xp+(yn+1-yn) 2-(n-2)xp21=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+2-1(y4-y3)xp+(yn+1-yn) 2-(n-3)xp321=(y1-y0)xp+2-1(y2-y1)xp+2-1(y3-y2)xp+2-1(y4-y3)xp+2-1 (yn-yn-1)xp +2-1 (yn+1-yn)xpnnn-1321y0 x*yp= xp*(0.y1y2.yn) (1)y注意:(1)y 0 是乘数 y的符号位.yn+1是人为附加位 =0.使式子规范整齐.(2)开始运算时 p0=0 , yn+1=0部 分 积 新部分积获得的方法:1、乘数相邻的两位求差。2、结果乘以x补 。3、并与上次部分积相加。4、相加结果右移 1位。 根据相邻两位比较结果决定运算操作的方法,称为“比较法” ,也称 Booth算法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初级教育 > 小学教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报