文章目录浮点数的结构2的次方对照表偏移量浮点数计算公式浮点数计算不太好理解。浮点数的结构浮点数的结构分为3部分符号位 #符号位可不是小数点位别弄混了指数位尾数位类型符号位指数位尾数位16位浮点数1位5位10位32位浮点数1位8位23位十进制二进制符号位指数位尾数位0.6250.50.1252-12-31.01x2-10-11.012的次方对照表这里只展示25到2-10次方二进制2524232221202-12-22-32-42-52-62-72-82-92-10十进制321684210.50.250.1250.06250.031250.0156250.00781250.003906250.0019531250.0009765625偏移量负数在计算时太麻烦所以存的时候加个偏移量都存为正数解的时候再减掉。fp16 偏移量为15fp32 偏移量为127为什么是这个值呢?以fp32为例8位指数位的范围是-126到1270和128被保留了表示0和无穷大。所以即使是最小值-126加上127也是正数符合设计理念。同理fp165位指数位的范围-14到150和16被保留了。最小值-14加上15也是正数也符合设计理念。所以存储值的指数位的值是 (-14151515) (130)当反算值的时候减去1530-1515最大值的情况是215浮点数计算公式这块不太好理解有时间再看看。IEEE 754 标准下浮点数的通用计算公式其实就是一个“二进制版的科学计数法”。对于最常见的 规格化数公式如下符号说明符号含义说明S符号位0 代表正数1 代表负数。M尾数存储的是小数部分。注意公式里是 1.M 这意味着二进制小数点前默认隐藏了一个 1这叫隐含位。E指数存储值指数位里实际存的二进制数无符号整数。\text{Bias}偏移量用来把存储的指数 E 还原成真实指数的常数。