- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap3计算机组成原理
* 浮点数乘法的运算步骤 (1)两浮点数相乘 ? 两浮点数相乘,乘积的阶码为相乘两数的阶码之和,尾数为相乘两数之积。可以表示为: ? Mb= Mx* My Eb= E x+ E y (2)尾数规格化 ? Mx和 My都是绝对值大于或等于0.1的二进制小数,因此,两数乘积Mx* My的绝对值是大于或等于0.01的二进制小数。 ? 不可能溢出,不需要右规。对于左规来说,最多一位,即Mb最多左移一位,阶码Eb减1。 * (3)尾数舍入处理 ? Mx* My产生双字长乘积,如果只要求得到单字长结果,那么低位乘积就当作警戒位进行结果舍入处理。 ? 若要求结果保留双字长乘积,就不需要舍入处理了。 (4)阶码溢出判断 ? 对Eb的溢出判断完全相同于浮点数加、减法的相应操作。 * 浮点数乘法运算流程图 * 浮点数除法的运算步骤 (1)除数是否为0,若My =0,出错报告。 (2)两浮点数相除 ? 两浮点数相除,商的阶码为被除数的阶码减去除数的阶码。商的尾数为相除两数的尾数之商。 ? 可以表示为: Mb= Mx/ My ,Eb= E x- E y * (3)尾数规格化 ? Mx和 My都是绝对值大于或等于0.1的二进制小数,因此,两数相除Mx/ My的绝对值是大于或等于0.1且小于10 的二进制小数。所以,对Mb不需要左规操作。 ? 若溢出,执行右规:Mb右移一位,阶码Eb加1。 (4)尾数舍入处理 (5)阶码溢出判断 ?(4)、(5)两步操作相同于浮点数加、 减法的相应操作。 * 浮点数除法运算流程图 * 3.6 浮点数的算术运算 3.6.3 阶码的表现形式__补码和移码 *00000001…100000001111110111111111 … 128 129 -0 -1 -128 -127 -127 -126 二进制代码 无符号数 对应的真值 原码对应 的真值 补码对应 的真值 反码对应 的真值 0 1 2 127 … 253 254 255 … -125 -126 -127 … -3 -2 -1 … -2 -1 -0 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0 设机器数字长为 8 位(其中一位为符号位) 对于整数,当其分别代表无符号数、原码、补码和 反码时,对应的真值范围各为多少? * (1) 移码定义 x 为真值,n 为 整数的位数 移码在数轴上的表示 [x]移码 2n+1–1 2n 2n –1 –2n 0 0 真值 如 x = 10100 [x]移 = 25 + 10100 用 逗号 将符号位 和数值位隔开 x = –10100 [x]移 = 25 – 10100 [x]移 = 2n + x(2n>x ≥ 2n) = 1,10100 = 0,01100 * 移码表示法 补码表示很难直接判断其真值大小 如 十进制 x = +21 x = –21 x = +31 x = –31 x + 25 +10101 + 100000 +11111 + 100000 10101 + 100000 11111 + 100000 大 大 错 错 大 大 正确 正确 0,10101 1,01011 0,11111 1,00001 +10101 – 10101 +11111 – 11111 = 110101 = 001011 = 111111 = 000001 二进制 补码 * (2) 移码和补码的比较 设 x = +1100100 [x]移 = 27 + 1100100 [x]补 = 0,1100100 设 x = –1100100 [x]移 = 27 – 1100100 [x]补 = 1,0011100 补码与移码只差一个符号位 = 1,1100100 = 0,0011100 1 0 0 1 * - 1 0 0 0 0 0 - 1 1 1 1 1 - 1 1 1 1 0 - 0 0 0 0 1 ± 0 0 0 0 0 + 0 0 0 0 1 + 0 0 0 1 0 + 1 1 1 1 0 + 1 1 1 1 1 … … 真值 x ( n = 5 ) [x]补 [x]移 [x] 移对应的 十进制整数 (3) 真值、补码和移码的对照表 … … 0 1 2 31 32 33 34 62 63 … … 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0
文档评论(0)