floats
浮点数
基础知识
浮点通过移动二进制小数点来表示尽可能大的取值范围
数字公式
$$
(-1)^S M 2^E
$$
符号位{S} 表示正负
小数{M} 一般是一个1~2之间的小数值
指数位{E} 指的是乘2的E次方
IEEE浮点数标准
single 单精度
1位符号位,8位指数位,23位小数位
Double 双精度
1位符号位,11位指数位,52位小数位
小数位的特殊表示
由于小数位永远是1.010101这样的模式
因此前面的1不放入存储,只记录后面的01010101这种
同时,在计算时,会刻意维持小数位为1.010111这样的模式,就是说维持小数位在1~2之间
零表示法
$$
(-1)^S M 2^E
$$
此时E为1-Bias,之前为0-Bias
由于之前无法表示0,将M设置为0.110101010这种模式,此时可以表示0
当E全0,小数位全0的时候
表示0
这会导致正负0的出现
当E为0,小数位不为0的时候,可以表示一些很接近0的东西
如果E为111111….1 ,frac 不为0,
则代表一个极大值,不代表数字