float占用4个字节,也就是32个比特。
double占用8个字节,也就是64个比特lei。
float和double的范围是由指数的位数来决定的。
范围:
float的指数范围为-127--128,double的范围是-1023-1024。
负指数决定了绝对值最小的非零数,正指数决定了绝对值最大的数。也即决定了范围。
也即float的范围为-2^128-2^128,double的范围是-2^1024-2^1024。
精度:
float和double的精度是由尾数位决定的。浮点数在内存中是按照科学计数法来存储的,其整数部分始终是一个隐藏着的1。由于他是不变的,因此对精度不会造成影响的。
float精度范围是:2^23一共7位,因此最多能表示7位,但是能保证的是6位。
double的精度范围是2^52一共16位,同理最多能表示16位,但是能保证的是15位。