发布网友 发布时间:2022-04-19 23:34
共5个回答
热心网友 时间:2023-06-26 12:02
float和double类型的区别如下:
1、变量类型不同
float属于单精度型浮点数据。
double属于双精度型浮点数据。
2、指数范围不同
float的指数范围为-127~128。
double而double的指数范围为-1023~1024
3、表达式指数位不同
float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)
double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)
4、占用内存空间不同
float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。
double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。
5、有效位数不同
float只能提供七位有效数字。
double可提供16位有效数字。
参考资料来源:百度百科——浮点型数据
热心网友 时间:2023-06-26 12:02
double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。热心网友 时间:2023-06-26 12:03
java中有这样一个规则:热心网友 时间:2023-06-26 12:03
float是单精度浮点型,double是双精度浮点型。float到double不需要转换,编译会自动进行转化。但从double到float就需要强制转换。不过没有特殊状况最好不要这样做,因为这样可能会的到不是你想要的结果。热心网友 时间:2023-06-26 12:04
默认的浮点数都是double 只有在数组后边加上f才是 float的