用原码一位乘_第1页
用原码一位乘_第2页
用原码一位乘_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八早20.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x ? y(1)x= 0.110111 ,y=-0.101110 ;x= -0.010111-y=0.010101;x= 19 , y= 355x= 0.110 11 ,y=-0.111 01。解:(a)原码一位乘:(1)凶原=0.110111y原=1.101110 x*=0.110111y*=0.101110符号位:X 0 Yo011数值部分的计算:部分积 乘数y*0.000000+ 0.000000101110开始部分积为0乘数为0,加上00.0000000.0000000101111部分积右移一位,乘数右移一位+

2、0.110111乘数为1,加上X*0.11011100.011011101部分积右移一位,乘数右移一位+ 0.1101111011乘数为1,加上X*1.010010100.1010010101部分积右移一位,乘数右移一位+ 0.110111101乘数为1,加上X*1.1000000100.1100000010 10+ 0.0000000.11000000100.01100000010部分积右移一位,乘数右移一位1乘数为1,加上X*+ 0.1101111.00111100010右移一位0.100111100010x*y原凶原=1.010111y原=1.010101x*=0.010111y*=0.

3、010101符号位:X 0 丫0110数值部分的计算:部分积乘数y*+0.0000000.010111开始部分积为0010101乘数为1,加上X*0.0101111 01010 10.001011部分积右移一位,乘数右移一位+0.000000乘数为0,加上00.00101110.00010111 0101 1部分积右移一位,乘数右移一位+0.010111乘数为1,加上X*0.011100110.001110011 010部分积右移一位,乘数右移一位+0.000000乘数为0,加上00.0011100110.0001110011 01部分积右移一位,乘数右移一位+0.010111乘数为1,加上X

4、*0.01111000110.00111100011 0部分积右移一位,乘数右移一位+ 0.0000000.001111 000110.000111 100011 故,x ? y=0.000111100011000010011 001000(3) x原=0, 0001 0011 y 原=0, 0010 0011 x*=0001y*=0010 00110011符号位:X 0 丫000 0数值部分的计算:部分积乘数y*00000000 00100011开始部分积为0+ 00010011乘数为1,加上X*00010011部分积右移一位,乘数右移一位+ 000100110001110010000111

5、001 001000部分积右移一位,乘数右移一位+ 00000000000011100100000111001 00100部分积右移一位,乘数右移一位000000111001 00100000000111001 001+ 000100110001010010001 00000001010011001即 0, 0000 0010 1001 1001(4) x=0.11011 , y=-0.11101x 原=0.11011y原=1.11101 x*=0.11011 y*=0.11101符号位:X 0丫 0 01 1数值部分的计算:部分积乘数y*0.0000011101开始部分积为0+ 0 .110

6、11乘数为1,加上X*0.110110.011011)部分积右移一位,乘数右移一位0 001101111=1部分积右移一位,乘数右移一位111+ 0.110111.00001111110.10000111部分积右移一位,乘数右移一位+ 0.11011乘数为1,加上X*1.010111110.101011111A部分积右移一位,乘数右移一位+ 0.110111乘数为1,加上X*1.1000011110.1100001111加上符号位得1.1100001111(b)补码一位乘 (Booth)当乘数y为正数时,不管被乘数x符号如何,都可按原码乘法的规则运算,但加和移位都必须按补码规则运算当乘数y为负

7、数时,把乘数的补码y:补去掉符号位,当成一个正数与x:补相乘,然后加上-x 补进行校正。Booth算法的部分积取双符号位,乘数因符号位参加运算,故多取一位。Booth算法对乘数从低位开始判断,根据两个数据位的情况决定进行加法、减法还是仅仅移位操作。判断的两个数据位为当前位及其右边的位(初始时需要增加一个辅助位0),移位操作是向右移动。补码一位乘法则(教材 P254)yi yi 1yi 1yi操作000部分积右移一位011部分积加X:补,再右移一位10-1部分积加-X:补,再右移一位110部分积右移一位凶补二 0.110111y补=1.010010部分积乘数y n 辅助位yn+100.00000

8、010100100初始0,力 1=00 ,右移一位00.00000001010010yi yi 1=10 ,加 位:-X:补,右移一-00.11011111.001001011.10010010 101001yi yi 1=01 ,加 位:X:补,右移一+ 00.11011100.0110111000.001101110 10100yi yi1=00 ,右移一位00.0001101110 1010yi yi 1=10 ,加 位:-X:补,右移一-00.11011111.001111111011.10011111110 101yi yi 1=01 ,加 位:X:补,右移一+ 00.1101110

9、0.0111101111000.001111011110 10yi yi 1=10 ,加 位:-X:补,右移一-00.11011111.011000 011110x ? y补则 X ? Y =1.1001 1110 0010(2) x补=1.101001y补=1.101011部分积乘数yn00.00000011.10100111010110辅助位yn+1* 1=10,加卜刈补,右移一位00.01011100.0010111 1101011辅助位yn+1yiyi 1=11,右移一位00.00010111 110101辅助位yn+1yiyi 1=01,加X 补,右移一位+ 11.10100111.

10、10111011.110111-11.10100111011 1101000.00111001100.0001110011 1101+ 11.10100111.110000001111.11100000011 110-11.10100100.0011110001100.000111100011 1100.000111100011故,X ? Y=0.000111100011(3) x补=00010011=00010011y补=0010001仁 00100011部分积乘数yn辅助位yn+100, 00000000001000110-00, 0001001111, 1110110111, 11110

11、1101 0010001111, 1111101101 0010001+ 00, 0001001100, 000011100100, 00000111001 00100Q00, 000000111001 0010000, 0000000111001 0010-00, 0001001111, 111011101100111,11110111+ 00,00010011011001 00 100,0000101000,000001010110010011001 0 000,0000 0010 1001 1001即为所求(4):x:补=0.11011:y:补=1.00011部分积乘数yn辅助位yn+1

12、00.00000100011 0-00.1101111.0010111.100101 10001 111.1100101 1000 1+00.1101100. 101000100.01010001 100 000.001010001 10 000.0001010001 1 000.1101111.00111即 1.00 1111 000110001X ? 丫 =1.11 0000 11116.21用原码加减交替法和补码加减交替法计算X/Y.原码加减交替法(1) x=0.100111, y=0.101011解::X原=0.100111,X*=0.100111丫原=0.101011,Y*=0.10

13、1011,:-Y* =1.010101被除数商0.1001110.000000+1.0101011.11110001.111000+0.10101100.100011011.000110+1.010101010.0110110110.110110+1.0101010110.00101101110. 010110011101110011100111010111010111010被除数0.10101 + 1.001011.110101.10100 + 0.110110.011110.11110 + 1.001010.000110.00110+ 1.001011.01010.10110+ 0.110

14、111.10001.00010 +0.11011 1.11101符号位为商0.00000010彳10110011001100011000110001.1010111.010110+0.1010110.0000010.000010+1.0101011.010111符号位为X 0 Y00 0 0可得,商为时 x=1-0110101,y= 0.111010解:X原=1.10101,X*=0.10101Y原=0.11011, Y*=0.11011,-Y *=1.00101X。丫。1可得,商为1.11000 x= 0.10100,y= -0.10001解:X原=0.10100, X*=0.10100Y原=1.10001, Y*=0.10001,-Y *=1.01111被除数商+ 1.011110.0001110.001101+1.011111.10101101.0101010+0.100011.110111001.10110100+0.100010.0011110010.011101001+1.011111.11101100101.1101010010+0.100010.01011100101符号位为X。丫 001 1上商第一位为溢出判断,为1,则溢出,不能进行。1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论