原码一位乘法_第1页
原码一位乘法_第2页
原码一位乘法_第3页
全文预览已结束

下载本文档

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

文档简介

1、原码一位乘法学习辅导 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也同样适用) 被乘数x原 = xf .x0 x1 x2 xn 乘数 y原 = yf .y0 y1 y2 yn则乘积 z 原 = ( xfyf ) . (0. x0 x1 x2 xn)(0 . y1 y2 yn)式中,xf为被乘数符号,yf为乘数符号。 乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种情况(xf yf = 00,01,10,11),因此积的符号可按“异或”

2、(按位加)运算得到。数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表达的数来说,其乘法规则更为简单一些:从乘法y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后再对乘数y的高一位进行的乘法运算,其规则同上,不过这一位乘数的权与最低位乘数的权不一样,因此被乘数x要左移一位。依次类推,直到乘数各位乘完为止,最后将它们统统加起来,便得到最后乘积z 。 设 x = 0.1011,y = 0.1101,让我们先用习惯方法求其乘积,其过程如下: 0. 1 1 0 1 (x) 0. 1 0 1 1 (y) + 1 1 0 1 1 1 0 1 0 0 0

3、0 1 1 0 1 0. 1 0 0 0 1 1 1 1 (z) 如果被乘数和乘数用定点整数表示,我们也会得到同样的结果。但是,但是人们习惯的算法对机器并不完全适用。原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。原因之二,只有两个操作数相加的加法器,难以胜任将n个位积一次相加起来的运算。为了简化结构,机器通常只有n位长,并且只有两个操作数相加的加法器。为此,必须修改上述乘法的实现方法,将 x y 改写成适于如下定点机的形式:一般而言,设被乘数 x 、乘数 y 都是小于 1 的 n 位定点正数: x = 0 . x1 x2 xn ; y = 0 . y1 y2 yn其乘积为x

4、y = x ( 0.y1y2 yn ) = x ( y1 2 -1 + y2 2 -2 + + yn 2 -n) = 2 -1( y1x + 2-1( y2 x + 2-1 ( + 2-1 ( yn-1 x + )令 zi 表示第 i 次部分积,则上式可写成如下递推公式: z0 = 0 z1 = 2-1( ynx + z0) zi=2-1(yn-i+1x+zi-1) zn = xy = 2-1( y1x + zn-1)显然,欲求xy,则需设置一个保存部分积的累加器。乘法开始时,令部分积的初值z0 = 0,然后求加上ynx,右移1位得第1个部分积,又将加上yn - 1x,再右移1位得第2个部分积

5、。依此类推,直到求得y1x加上zn-1并右移1位得最后部分积,即得xy。显然,两个n位数相乘,需重复进行n次“加”及“右移”操作,才能得到最后乘积。这就是实现原码一位乘法的规则。 【例 】 x = 0.1101, y = 0.1011,用原码一位乘法计算 x y = ? 解:求解过程如下: 部分积 乘数 说明 00.0000 yf 1 0 1 1 z0 = 0 + 00.1101 y4 = 1,+ x 00.1101 00.0110 1 yf 1 0 1 右移,得z1 + 00.1101 Y3 = 1,+ x 01.0011 00.1001 1 1 yf 1 0 右移,得z2 + 00.0000 Y2 = 0,+0 00.1001 00.0100 1 1 1 yf 1

温馨提示

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

评论

0/150

提交评论