Appearance
主要以FP16为例。
概述 

FP16指有16个2进制数,其中包含1位符号位数(sign),5位作指数(exponent),10位表小数(fraction)。而对于FP32则是1位表符号,8位表指数,23位表小数。
 根据IEEE574规定,浮点数包含三个状态:
- 规格数(Normal): 指数位不全为0或1
 - 非规格数(Subnormal): 指数全0
 - 特殊数(Non-number): 指数全1
 
规格数 
- 符号位:为0或者1,其中0表示正数,1表示负数
 - 指数:中间5位,00000~11111,但注意到,当全0或全1时不再为规格数,故取值范围在00001~11110,转化为十进制数1~30。为了表示负指数,设置偏置(bias),并令
。根据IEEE754标准,设置偏置(bias)为 ( FP16偏置为15),故最终指数范围$-$14~15。 - 小数: 10位,默认省略前置位1,表示范围在
 - 表达公式: 
 - 最大值: 0111101111111111 = 
= 65504  - 最小正值:0000010000000000 = 
 
非规格数 
从规格数可以看出,对于接近0的数,规格数是无法表达的。例如,在规格数的定义下,即使取出 0000000000000000 = 
 此时,表达式变更为
 则对应的
- 小数部分全0: 表示数字0
 - 最小正值: 0000000000000001 = 
 
特殊数 
- 指数: 此时,指数部分全1
 - 若小数部分全0 
- 符号位为1,则表示负无穷
 - 符号为为0,则表示正无穷
 
 - 若小数不全为0: 表示
NAN