double和float什么区别
float与double的区别>先容/p>
1、两者变量类型>差别/p>
float属于单精度型浮点数据。
double属于双精度型浮点数据。
2、两者指数范围>差别/p>
float的指数范围为-127~128。

double的指数范围为-1023~1024。
3、两者表达式指数位>差别/p>
float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)
double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)
4、两者占用存空间>差别/p>
float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。
double占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。
5、两者有效数字位数>差别/p>
float只能提供8位有效数字。
double可提供16位有效数字。
6、在程序中处理速度>差别/p>
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,因此,如果要用float的话,必须进行强转。
double类型小数点后最多几位
double类型是双精度浮点数,占用8字节(Byte)即64位(bit),其精度是由32个bit的二进制尾数来确定的,因此准确精度是二进制精度而不是十进制精度,通常可以保证十进制小数点后15位有效精度和第16位的部分精度。
通过格式化方法输出double类型,可以控制小数点后的显示位数。
float为什么不能改为double
float不能改为double的原因:double需要8字节的空间,而float变量只能容纳4字节。
float与double的区别在于变量类型不同、指数范围不同、表达式指数位不同、占用内存空间不同、有效数字位数不同、在程序中处理速度不同。
float属于单精度型浮点数据,指数范围为-127~128;
double属于双精度型浮点数据,指数范围为-1023~1024。