zoukankan      html  css  js  c++  java
  • 关于浮点数加减法时尾数的规格化处理

    当尾数用二进制表示时,浮点规格化的定义是尾数M应满足:

                                   1/2   ≤  |M|<1
    

    显然对于正数而言,有M = 00.1φφ…φ;
    对于负数,其补码形式为11.0φφ…φ(即-0.0*******,左归)。
    这样,当进行补码浮点加减运算时,只要对运算结果的符号位和小数点后的第一位进行比较:如果它们不等,即为00.1φφ…φ或11.1φφ…φ,就是规格化的数;如果它们相等,即为00.0φφ…φ或11.0φφ…φ,就不是规格化的数,在这种情况下需要尾数左移以实现规格化的过程,叫做向左规格化。规则是:尾数左移1位,阶码减1。

    在浮点加减运算时,尾数求和的结果也可以得到01.φφ…φ或10.φφ…φ,即两符号位不相等,在这定点加减运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1。

  • 相关阅读:
    基本STRUTS标签-学习笔记-Logic标签
    Static的使用
    模板template
    iostream与iostream.h的区别
    数据库连接池
    canvas基础
    javascript面试题集
    ES6新特性学习
    原型和原型链
    css为tbody或者li奇数偶数行样式
  • 原文地址:https://www.cnblogs.com/jva-index/p/13866159.html
Copyright © 2011-2022 走看看