定点数与浮点数表示

定点数与浮点数据表示

<1> 定点数据表示

  • 可表示定点小数和整数
  • 表现形式:X0.X1X2X3 … Xn(定点小数)
  • 定点小数的表示数的范围(补码为例):-1 \leq x \leq 1-2n
  • 定点整数表示数的范围(补码为例): -2n \leq x \leq 2n - 1
  • 顶点数据表示数的不足:数据表示范围受限

<2> 浮点数据表示

  • 把数的范围和精度分别表示的一种数据表示方法

浮点数的使用场合
当数的表示范围超出了定点数能表示的范围时

1. 格式(一般格式)

  • E: 阶码位数,决定数据的范文
  • M: 尾数位数,决定数的精度
  • 一般表示格式的不足
    • 数据移植性太差
    • 不同系统可能根据自己的浮点数格式从中提取出不同位数的阶码

2. IEEE 754格式

S 8位偏指数E 23位有效尾数M 单精度
S 11位偏指数E 52位有效尾数M 双精度
  • 指数采用偏移值,其中单精度偏移值为127,双精度为1023,将浮点数的阶码值变成非负整数,便于浮点数的比较和排序

  • IEEE754 尾数形式为 1.XXXXXX, 其中M 部分保存的是XXXXXX(1被隐藏),从而可保留更多的有效位,提高数据表示的精确度

  • 与上述IEEE754格式相对应的32位浮点数的真值可表示为:
    N = (-1)s × 2E-127 × 1.M
    随E和M的取值不同,IEEE754浮点数据表示具有不同的意义

    • E = 0,M = 0 : 表示机器零
    • E = 0,M \not= 0 : 则N = (-1)s × 2-126 × 0.M, 非规格化的浮点数
    • 1 \leq E \leq 254: N = (-1)s × 2E-127 × 1.M, 规格化的浮点数
    • E = 255, M = 0 : 无穷大的数,对应于 x/0 (其中x \not= 0)
    • E = 255, M \not= 0 : N = NaN, 表示一个非数值,对应于 0/0
  • 《Lecture Notes on IEEE 754》

  • IEEE754 32位浮点数与对应真值之间的交换流程

  • 案例

发布了139 篇原创文章 · 获赞 147 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_29339467/article/details/104523181