- 1、本文档共164页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[例3] 以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。[解:] 原码、反码、补码表示分别示于下图。与原码、反码不同,在补码表示中“0”只有一种形式,且用补码表示负数时范围可到-2n 。 [例4]将十进制真值(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码值。 [解:] 二进制真值x及其诸码值列于下表,其中0在[x]原[x]反中有两种表示。由表中数据可知,补码值与移码值差别仅在于符号位不同。 [例5] 设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少? [例6]假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数x,真值表示为: x=(-1)s×(1.M)×2E-128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少? (4)最大负数 第二章 运算方法与运算器 本章内容: 2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器 本章小结 2.3 定点乘法运算 2.3.1 原码乘法 1.人工算法与机器算法的同异性 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。 设n位被乘数和乘数用定点小数表示(定点整数也同样适用) 被乘数 [x]原=xf .xn-1…x1x0 乘数 [y]原=yf .yn-1…y1y0 则乘积:? [z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0) (2.26) 式中,xf为被乘数符号,yf为乘数符号。 乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数的符号组合只有四种情况(xfyf=00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。 数值部分的运算方法与普通的十进制小数乘法类似,不过对于用二进制表达式的数来说,其乘法规则更为简单一些。 设x=0.1101,y=0.1011.让我们先用习惯方法求其乘积,观察其过程: 运算的过程与十进制乘法相似: 从乘数y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后再逐次完成对乘数y各高位的乘法运算,其规则同上。不过高一位乘数的权比低一位乘数的权大一级(21=2),因此被乘数x要左移一位。以此类推,直到乘数各位全部乘完为止,最后将它们统统加起来,变得到最后乘积z。 如果被乘数和乘数用定点整数表示,运算过程也完全一样。 然而,人们习惯的算法对机器并不完全适用。原 因之一:机器通常只有n位长,两个n位数相乘,乘积可 能为2n位。原因之二:只有两个操作数相加的加法器 难以胜任将n个位积一次相加起来的运算。 早期计算机中为了简化硬件结构,采用串行的1位 乘法方案,即多次执行“加法—移位”操作来实现。这 种方法并不需要很多器件。然而串行方法毕竟太慢。 随着大规模集成电路问世以来,出现了各种形式的流 水式阵列乘法器,它们属于并行乘法器。 2.不带符号的阵列乘法器 设有两个不带符号的二进制整数:(见书P38) A=am-1…a1a0??????? (m位) ???? B=bn-1…b1b0?????? (n位)??????? 它们的数值分别为a和b,即 m-1 n-1 a =∑ai2i b =∑bj2j i=0 j=0 在二进制乘法中,被乘数A与乘数B相乘,产生(m+n)位乘积P P=pm+n-1…p1p0??????? (m+n位) 乘积P 的数值为: am-1 am-2 … a1 a0 ×) bn-1 … b1 b0 am
文档评论(0)