原码补码乘除法.ppt

原码补码乘除法.ppt

ID:48031434

大小:341.01 KB

页数:44页

时间:2020-01-13

原码补码乘除法.ppt_第1页
原码补码乘除法.ppt_第2页
原码补码乘除法.ppt_第3页
原码补码乘除法.ppt_第4页
原码补码乘除法.ppt_第5页
资源描述:

《原码补码乘除法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、原码一位乘运算以定点小数为例0.1101×0.10110.000011010.00011010.000000+0.011010.10001111返回例如:X=0.1101Y=-0.1011笔算乘法过程机器实现问题:1.加法器只有两个数据输入端;2.加法器与运算数据位数相同。解决方案:1.改n输入数相加过程为两两相加;2.改2n位相加过程为n位相加。X×Y=-0.10001111原码一位乘运算返回基本公式:设被乘数[X]原=xf.x1x2…xn乘数[Y]原=yf.y1y2…yn则[X×Y]原=(xf⊕yf).(X*×Y*)其中,X*和Y*分别是X和Y的绝对值例

2、如:X=0.1101Y=-0.1011[X]原=0.1101[Y]原=1.1011X*=0.1101Y*=0.10110.11010.0000累加器初值取零值×0.1011+0.110111010.1101  初值0加被乘数11010.01101部分积右移,0000       将移出的一位保存起来+1101求第一次部分积0.10001111手工运算过程原码一位乘运算原码一位乘运算X*=0.1101Y*=0.10110.11010.01101×0.1011+0.110111010.0011前次部分积加被乘数11010.100111部分积右移0000     

3、        将移出的一位保存起来+1101求第二次部分积0.10001111手工运算过程返回原码一位乘运算X*=0.1101Y*=0.10110.11010.100111×0.1011+0.000011010.1001前次部分积加011010.0100111部分积右移0000将移出的一位保存起来+1101求第三次部分积0.10001111手工运算过程返回原码一位乘运算X*=0.1101Y*=0.10110.11010.0100111*0.1011+0.110111010.0001前次部分积加被乘数11010.10001111部分积右移0000      

4、       将移出的一位保存起来+1101求第四次部分积0.10001111手工运算过程再用一步完成两数符号异或求积的符号,结果为-0.10001111返回原码一位乘运算规则原码一位乘运算规则:1.乘积的符号位由两数符号位“异或”产生,符号位不参与运算;2.部分积可采用一位或两位符号位;3.乘积的数值部分由两数绝对值相乘产生,通过n次“加法”和“右移”操作实现。(n为乘数整数部分位数)返回原码一位乘运算实例部分积乘数0.00000.1011+0.11010.11010.011010101+0.11011.00110.1001110100.010011101

5、+0.11011.00010.100011110返回0.1101×0.1011110111010000+11010.10001111例如:X=0.1101Y=-0.1011手工运算过程计算机内运算的实现方法则X*=0.1101Y*=0.1011[X]原=0.1101[Y]原=1.1011[X×Y]原=1.10001111补码乘法运算原码乘法不难实现,但有两个问题:1.符号位与数值位分别处理,不方便;2.若数据为补码形式,可能需要多于两次补原码变换。也可以直接用补码完成乘法运算,即从补码开始,直接得到补码的积。下面看一看补码乘运算的实现算法。返回=(Yi+

6、1-Yi)×2-i设被乘数[X]补=x0.x1x2…xn乘数[Y]补=y0.y1y2…yn先复习两个概念:①已知[X]补=x0.x1x2…xn时[X/2]补=x0.x0x1x2…xn-1②已知[Y]补=y0.y1y2…yn时Y=-y0+yi×2-ii=1nni=0补码一位乘法的实现算法推导(比较法)返回X×Y=X×[-y0+yi×2-i]补码一位乘法运算算法推导(比较法)[X×Y]补= [X]补×[Y]补?返回=X×(0.y1y2…yn)-X×y0[X×Y]补=[X×(0.y1y2…yn)-X×y0]补=[X×(0.y1y2…yn)]补-[X×y0]补=

7、[X]补×(0.y1y2…yn)-y0[X]补=[X]补×Yni=0证明[X×(0.y1y2…yn)]补=[X]补×(0.y1y2…yn)(1)当X≥0时,[X×(0.y1y2…yn)]补=X×(0.y1y2…yn)=[X]补×(0.y1y2…yn)(2)当X<0时,[X×(0.y1y2…yn)]补=2+X×(0.y1y2…yn)(mod2)=2n+1+X×(0.y1y2…yn)(mod2)=2n+1×(0.y1y2…yn)+X×(0.y1y2…yn)(mod2)=(2n+1+X)×(0.y1y2…yn)(mod2)=(2+X)×(0.y1y2…yn)(mo

8、d2)=[X]补×(0.y1y2…yn)(mod2)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。