IEEE 754浮点数

浮点数

  • 浮点数格式
    • 基数\beta \geq 2
    • 精度p \geq 2
    • 最小指数e_{min}、最大指数e_{max}
    • 在实际的浮点数格式中,e_{min} < 0 < e_{max}。在IEEE 754中,e_{min} = 1 - e_{max}
  • 在上面的浮点数格式中,浮点数至少具有一种表示

        \[ x = M \cdot \beta^{e - p + 1}. \]

    • M为整数的有效数字,|M| \leq \beta^p - 1
    • e为整数的指数,e_{min} \leq e \leq e_{max}
  • //

IEEE754-2008

  • 浮点数格式
    • 基数\beta = 2,或者10
    • 最小指数、最大指数

          \[ e_{min} = 1 - e_{max}. \]

  • 二进制交换格式
    • 16位

          \[ p = 11,\; e_{min} = -14,\; e_{max} = +15. \]

    • 32位,单精度

          \[ p = 24,\; e_{min} = -126,\; e_{max} = +127. \]

    • 64位,双精度

          \[ p = 53,\; e_{min} = -1022,\; e_{max} = +1023. \]

    • 128位

          \[ p = 113,\; e_{min} = -16382,\; e_{max} = +16383. \]

  • 二进制编码(S, E, T)
    • 1位符号SW_E位指数E(p - 1)位尾部有效数字T
    • E = 2^{W_E} - 1T \neq 0
      • NaN(Not a Number,非数)
    • E = 2^{W_E} - 1T = 0
      • 无穷大

            \[ (-1)^S \times (+\infty). \]

    • 1 \leq E \leq 2^{W_E} - 2
      • 规范化浮点数

            \[ (-1)^S \times 2^{E - b} \times (1 + T \cdot 2^{1 - p}). \]

      • 指数偏移为b = e_{max} = 2^{W_E - 1} - 1
    • E = 0T \neq 0
      • 非规范化浮点数

            \[ (-1)^S \times 2^{e_{min}} \times (0 + T \cdot 2^{1 - p}). \]

    • E = 0T = 0

      •     \[ (-1)^S \times (+0). \]