概述

1、基本格式

1.1、浮点数的表示

1.1.1、使用定点数
  1. 使用定点数表示纯小数和纯整数
1.1.2、使用浮点数
分析
  1. 使用浮点数:以适当的形式将比例因子表示在数据中,让小数点的位置根据需要浮动
  2. 使用科学记数法的思想
  3. 如图所示
  4. 在这里插入图片描述
  5. 前一部分是阶码,是定点整数,后面是尾数部分,是定点小数
  6. 位数的数值部分是0.几
  7. 阶码通常是补码或者移码表示,尾数通常用原码和补码表示
  8. 阶码E反映了浮点数的表示范围,以及小数点的实际位置
  9. M反应数值部分的位数和浮点数的精度
  10. 通过·阶码的改变,理论上就可以实现浮点数的浮动
  11. 浮点数的真值:r^E*M
  12. r约定了是2,E是阶码阶码,M是数值、
举例

a=0.01:1.1001
b=0.01:0.01001,阶码尾数均用补码表示,求ab的真值
解:a的阶码部分是2^1,尾数部分是-0.0111可以看作是-111右移了四个位置可以看作-7/16就是结果
b同理,但是要注意,b在一个字节的存储位上放不下,需要舍去最后一位,所以需要规格化

2、规格化

2.1、左规和右规

  1. 规定尾数的最高位必须是一个有效值1
  2. 左规:将尾数左移一位,阶码减一
  3. 右规:当浮点数的运算出现尾数溢出(双符号位01,10(时,将尾数右移一位,阶码加一

2.2、原码规格化的表示范围

  1. M的绝对值在0.5到1之间
  2. 原码规格化后M的表示范围是0.10000–0.111111
  3. 原码规格化后负数地表示范围是:1.111111-1.100000

2.3、补码规格化的表示范围

  1. 补码规格化:正数的表示范围不变
  2. 负数:注意,因为要求真值的最高为必须是1,所以表示成补码之后,最高有效位一定是0,则最小1.000000=-1,最大:1.0111111=-(1/2+2^-n)
    在这里插入图片描述
    上图时如果用三位表示的话,正数和负数补码的区别,注意感受不同
    在这里插入图片描述
    这是变成小数的形式
    在这里插入图片描述
    可以看到,太大和太小都不可以

3、IEEE754标准(重点)

3.1、表示形式

  1. 三个部分:数符,阶码,尾数
  2. 阶码用移码表示,尾数用原码表示,隐藏表示最高数值为是1 ,所以不需要存储1
  3. 尾数xxxxx,则表示1.xxxxx

3.2、常用的形式

在这里插入图片描述

  1. 短浮点数float32位
  2. 长浮点数:double 64位
  3. 对应真值:

重要

记住在这里插入图片描述

3.3、特殊规定

  1. E=M=0,真值位0
  2. E=0,M不等于0,是非规格数,真值:-1s乘以(0.M)乘以2-126(这是规定,记住就可以)
  3. 1<=E<=254时,真值正常
  4. E=255,全1时,,M不等于0时,非数值也是规定
  5. E=255,M=0时,无穷

3.4、表示范围

  1. 当E=1,M=0时,表示最小
  2. 当E差一个1全1时,M全1时最大
  3. 以下时绝对值的范围
    在这里插入图片描述

3.6、相关资料

浮点数表示格式
在IEEE-754标准下,浮点格式主要分为四种类行,即单精度格式、双精度格式、扩展单精度格式和扩展双精度格式。其中32位单精度格式与64位双精度格式作为基础格式更为常用,扩展格式则有特殊目的,一般对用户透明。

浮点格式参数

浮点格式可分为符号位s,指数位e以及尾数位f三部分。
其中真实的指数E相对于实际的指数有一个偏移量,所以E的值应该为e-Bias,Bias即为指数偏移量。这样做的好处是便于使用无符号数来代替有符号的真实指数。尾数f字段代表纯粹的小数,它的左侧即为小数点的位置。规格化数的隐藏位默认值为1,不在格式中表达。

IEEE-754 标准浮点格式

在IEEE-754 标准下,浮点数一共分为:

NaN:即Not a Number。非数的指数位全部为1 同时尾数位不全为0。在此前提下,根据尾数位首位是否为1,NaN 还可以分为SNaN 和QNaN 两类。前者参与运算时将会发生异常。
无穷数:指数位全部为1 同时尾数位全为0。大。
规格化数:指数位不全为1 同时尾不全为0。此时浮点数的隐含位有效,其值为1。
非规格化数:指数位全为0 且尾数位不全为0。此时隐含位有效,值为0。另外需要注意,以单精度时为例,真实指数E 并非0-127=-127,而是-126,这样一来就与规格化下最小真实指数E=1-127=-126 达成统一,形成过度。
0 :指数位与尾数位都全为0,根据符号位决定正负。
IEEE-754 标准的浮点数表示

浮点的舍入模式
在存储单元的物理限制下,无限精度的浮点数需要根据需求进行舍入操作,一般
可分为四类:

1.最近舍入,即向距离最近的浮点数舍入,若存在两个同样接近的数,则选择偶数作为舍入值。
2.向零舍入,又称截断舍入,将多余的精度位截掉,即取舍入后绝对值较小的值。
3.正向舍入,也称正无穷舍入,即舍入后结果大于原值。
4.负向舍入:也称负无穷舍入,即舍入后结果小于原值。

Logo

汇聚原天河团队并行计算工程师、中科院计算所专家以及头部AI名企HPC专家,助力解决“卡脖子”问题

更多推荐