计算机组成原理第4章 浮点数运算方法[参照].pptVIP

  • 36
  • 0
  • 约1.34万字
  • 约 69页
  • 2020-10-15 发布于福建
  • 举报

计算机组成原理第4章 浮点数运算方法[参照].ppt

尾数截断:尾数相乘会得到一个双倍字长的结果,若限定只取1倍字长,则乘积的若干低位将会丢失。如何处理丢失的各位值,通常有两种办法。 截断处理:无条件的丢掉正常尾数最低位之后的全部数值。 舍入处理:按浮点加减运算讨论的舍入原则进行舍入处理。 * 方法汇编·实用借鉴 (1)浮点乘法尾数运算 舍入处理 对于原码,采用0舍1入法时,不论其值是正数或负数,“舍”使数的绝对值变小,“入”使数的绝对值变大。 对于补码,采用0舍1入法时,若丢失的位不是全0,对正数来说,“舍”、“入”的结果与原码正好相同;对负数来说,“舍”、“入”的结果与原码分析正好相反,即“舍”使绝对值变大,“入”使绝对值变小。 为了使原码、补码舍入处理后的结果相同,对负数的补码可采用如下规则进行舍入处理。 ①当丢失的各位均为0时,不必舍入; ②当丢失的各位数中的最高位为0时,且以下各位不全为0;或丢失的各位数中的最高位为1,且以下各位均为0时,则舍去被丢失的各位; ③当丢失的各位数中的最高位为1,且以下各位又不全为0时;则在保留尾数的最末位加1修正。 * 方法汇编·实用借鉴 舍入操作实例 [x]补舍入前 舍入后 对应的真值 11111.0111(不舍不入) 1.0111 (舍) 1.0111 (舍) 1.1000 (入) -0.1001 -0.1001 -0.1001 -0.1000 对负数的补码可采用如下规则进行舍入处理。 ①当丢失的各位均为0时,不必舍入; ②当丢失的各位数中的最高位为0时,且以下各位不全为0;或丢失的各位数中的最高位为1,且以下各位均为0时,则舍去被丢失的各位; ③当丢失的各位数中的最高位为1,且以下各位又不全为0时;则在保留尾数的最末位加1修正。 [x]原舍入前 舍入后 对应的真值 11111.1001(不舍不入) 1.1001 (入) 1.1001 (入) 1.1000 (舍) -0.1001 -0.1001 -0.1001 -0.1000 * 方法汇编·实用借鉴 浮点乘法运算举例 例:设机器数阶码取3位(不含阶符),尾数取7位(不舍数符),要求阶码用移码运算,尾数用补码运算,最后结果保留1倍字长。 设x=2-101×0.0110011),y=2011×(-0.1110010) 求: x? y。 解:[x]补=11,011;00.0110011     [y]补=00,011;11.0001110   ①阶码运算     [jx]移=00,011, [jy]补=00,011     [jx+jy]移=[jx]移+[jy]补=00,011+00,011=00,110 对应真值-2 * 方法汇编·实用借鉴 浮点乘法运算举例(续) ②尾数相乘(采用Booth算法)其过程如下表所示。 部分积 乘 数 yn+1 说 明 00.0000000 00.0000000 + 11.1001101 1.0001110 0 1000111 0 0 →1位 +[-Sx]补 11.1001101 11.1100110 11.1110011 11.1111001 + 00.0110011 0 1 1 1 →1位 →1位 →1位 +[Sx]补 00.0101100 00.0010110 00.0001011 00.0000101 + 11.1001101 1010 0 0 0 →1位 →1位 →1位+ + [-Sx]补 11.1010010 1001010 ? ? 相乘的结果为:[Sx?Sy]补=11.10100101001010 * 方法汇编·实用借鉴 浮点乘法运算举例(续) 即[x?y]补=11,110;11.10100101001010 ③ 规格化。左规后[x?y]补=11,101;11.01001010010100 ④舍入处理。尾数为负,按负数的补码的舍入规则,取1倍字长,丢失的7位为0010100,应“舍”。 故最终的结果为:[x?y]补=11,101;11.0100101 即:xy= 2-011×(-0.1011011) * 方法汇编·实用借鉴 (2)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档