float压缩方式

本文探讨了在节省存储空间的前提下,如何通过fp16、Int8和Block FP三种方式对float进行压缩。详细介绍了每种方法的原理和应用场景,包括fp16的二进制格式,Int8根据float范围进行的压缩,以及Block FP针对一系列相近float值的压缩策略。
摘要由CSDN通过智能技术生成

float在舍弃一些精度和范围的情况下,可以做些压缩,节省存储空间。本文介绍3种压缩方式:fp16,Int8,fp block

float存储格式

V = (-1) ^ s × M × 2 ^ E

(1)(-1)^s 表示符号位,当 s=0,V 为正数;当 s=1,V 为负数。

(2)M 表示有效数字,大于等于 1,小于 2,但整数部分的 1 不变,因此可以省略。

(3)2^E 表示指数位。

比如: 对于十进制的 5.25 对应的二进制为:101.01,相当于:1.0101*2^2。所以,S 为 0,M 为 1.0101,E 为 2。 

对于float 32位存储,M为23Bit,E为8bit,s 1bit,具体存储格式,见下图:

则,我们可以计算出,float的值范围为:[-3.4*10^38,-1.18*10^-38]U[1.18*10^-38,3.4*10^38] 

fp16压缩:

半精度浮点数 是一种被计算机使用的二进制浮点

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值