Java语言中的浮点型数据的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位有效数字。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-20
float表示单精度浮点数在机内占4个字节,用32位二进制描述。

double表示双精度浮点数在机内占8个字节,用64位二进制描述。

double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。本回答被提问者采纳
第2个回答  2021-07-20
计算机没有办法像表示整数那样精确地表示小数(浮点数),只能无限接近于准确。double比float占用的空间大,因此更准确些,响应运行成本也要高些。
第3个回答  2021-07-21
浮点数据中,单精度与双精度的区别。在于他们能够表示的数字位数的长短。比如单精度的长度为5,那么双精度长度就是10本回答被网友采纳
第4个回答  2021-07-20
打个比方,注意只是比方,你可以简单的理解成:3.14与3.1415926的区别;
如果上面你理解我想表达什么了,就看下面这个;

实际上Java里:
float可以精确到8位,(实际上只有7位,最后一位是估算)
double可以精确到16位(实际上15位,最后一位是估算)
所以:
double比float精度更高,计算的更准确;
相似回答