浮点数也就是小数点浮动的数,但是因为在计算机中使二进制表示,不同长度有不同的精度。三种常用的浮点数的格式:半精度(float16)、单精度(float32)、双精度(float64)
- Value=sign*exponent*fraction
- 数值=符号位*指数位*小数位
- 符号位表示正负
- 指数位表示次方
- 小数位表示精度
区别在于指数位和小数位的长度的差异;这样近似值其实也就是有理数的表示方法;
半精度表示π,最大值和最小值:
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234121699-1533308299.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122007-2063126199.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122200-1414626648.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122359-781946995.png)
单精度表示π,最大值和最小值:
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122513-1875530451.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122673-2135888294.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122814-1459331199.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234122995-2074050195.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234123168-818396181.png)
双精度表示π,最大值和最小值:
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234123323-1648981003.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234123492-1858245322.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234123675-14627062.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234123861-2023205778.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234124033-1646457215.png)
Bfloat16
最近还诞生了一种Bfloat16的计数方式,使用和半精度相同的位数,实现了保持和单精度一样的指数位也就是8位指数位,可以表示和单精度相同的数字范围,但是牺牲了小数位也就是精度。
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234124239-971972254.jpg)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234124442-298151682.png)
![](https://img2020.cnblogs.com/blog/746059/202003/746059-20200320234124645-2026352876.png)
参考文献:
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">