跳转至

FP6

说明

该数据格式为 6位低精度浮点数表示格式,遵循IEEE 754-2008标准规范。

FP6包含E3M2E2M3两种存储结构。

E3M2

二进制结构

FP6-E3M2的二进制结构包含1bit符号位、3bit指数和2bit尾数,简写为E3M2。示意图如下:

e3m2

数值范围

FP6-E3M2的指数偏移为3,可以表达的数值通过公式定义如下。

1.对于规格化浮点数: $$ Value = (−1)^S x 2^{E−3} x (1 + \Sigma_{i=0}^1 m_i x 2^{-2+i}) $$

2.对于非规格化浮点数: $$ Value = (−1)^S x 2^{E−3+1} x \Sigma_{i=0}^1 m_i x 2^{-2+i} $$

其中:

  • S ∈ {0,1}。
  • E ∈ [0, 7],但全0 用于特殊值。
  • $m_i$ 是尾数的第ibit,i ∈ [0, 1]。

FP6-E3M2的取值范围为:

数值 S Exponent Mantissa 表达范围
零值(Zeros) 0/1 000 00 $\pm$0
最小非规格数(Min Subnormal) 0/1 000 01 $\pm$2^{-2} x 2^{-2}
最大非规格数(Max Subnormal) 0/1 000 11 $\pm$(2^{-1} + 2^{-2}) x 2^{-2}
最小规格数(Min Normal) 0/1 001 00 $\pm$2^{-2}
最大规格数(Max Normal) 0/1 111 11 $\pm$(1 + 2^{-1} + 2^{-2}) x 2^4
无穷值(Infinities) - - - -
非数(NaN) - - - -

E2M3

二进制结构

FP6-E2M3的二进制结构包含1bit符号位、2bit指数和3bit尾数,简写为E2M3。示意图如下:

e2m3

数值范围

FP6-E2M3的指数偏移为1,可以表达的数值通过公式定义如下。

1.对于规格化浮点数: $$ Value = (−1)^S x 2^{E−1} x (1 + \Sigma_{i=0}^2 m_i x 2^{-3+i}) $$

2.对于非规格化浮点数: $$ Value = (−1)^S x 2^{E−1+1} x \Sigma_{i=0}^2 m_i x 2^{-3+i} $$

其中:

  • S ∈ {0,1}。
  • E ∈ [0, 3],但全0 用于特殊值。
  • $m_i$ 是尾数的第ibit,i ∈ [0, 2]。

FP6-E2M3的取值范围为:

数值 S Exponent Mantissa 表达范围
零值(Zeros) 0/1 00 000 $\pm$0
最小非规格数(Min Subnormal) 0/1 00 001 $\pm$2^{-3} x 2^0
最大非规格数(Max Subnormal) 0/1 00 111 $\pm$(2^{-1} + 2^{-2} + 2^{-3}) x 2^0
最小规格数(Min Normal) 0/1 01 000 $\pm$2^0
最大规格数(Max Normal) 0/1 11 111 $\pm$(1 + 2^{-1} + 2^{-2} + 2^{-3}) x 2^2
无穷值(Infinities) - - - -
非数(NaN) - - - -

注意

当数值超出范围时会发生溢出(Overflow)或下溢(Underflow)