float的内存结构
一个32位的float数和一个64位double数的存储主要分为三部分:符号位,指数位,尾数位。
以float数为例:
- 符号位(sign): 1个bit,0 代表正数,1 代表负数
- 指数位(exponent):8个bit, 范围-127~128,用于存储科学计数法中的指数部分,并且采用以为存储方式,所存储的数据为原数据+127
- 尾数位(mantissa): 23bit,用于存储尾数部分
float数的表示形式: p o w ( − 1 , s i g n ) ∗ ( 1 + m a g ) ∗ p o w ( 2 , e x p − 127 ) pow(-1,sign)*(1+mag)*pow(2,exp-127) pow(−