00问答网
所有问题
java中float和double的区别...
如题所述
举报该问题
推荐答案 推荐于2018-03-13
精度 不同,占的字节数也不同,
一般我喜欢用double的,举个例子,
float a=5.0;这样写会出错,因为float型变量强制后面用f结尾,也就是这样:
float a=5.0f;
double a=5.0;这样就不会有错,
不过性能方面可能会差一些,
小程序是没什么分别的.
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/eTnBTIrD.html
其他回答
第1个回答 2008-09-14
doubel是32位,float是16位,double表示的范围和精度都比float大,java默认的小数声明是double,
double d=4.0,
而float则必须如下声明,
float f=4.of,
第2个回答 2020-06-18
1、内存结构
float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位)
8bits(指数位)
23bits(尾数位)
double:
1bit(符号位)
11bits(指数位)
52bits(尾数位)
于是,float的指数范围为-128~+127,而double的指数范围为-1024~+1023,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128
~
+2^127,也即-3.40E+38
~
+3.40E+38;double的范围为-2^1024
~
+2^1023,也即-1.79E+308
~
+1.79E+308。
2.
精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。
float:2^23
=
8388608,一共七位,由于最左为1的一位省略了,这意味着最多能表示8位数:
2*8388608
=
16777216
。有8位有效数字,但绝对能保证的为7位,也即
float的精度为7~8位有效数字
double:2^52
=
4503599627370496,一共16位,同理,
double的精度为16~17位
之所以不能用f1==f2来判断两个数相等,是因为虽然f1和f2在可能是两个不同的数字,但是受到浮点数表示精度的限制,有可能会错误的判断两个数相等!
第3个回答 2008-09-13
单和双的区别,double支持的浮点数范围比较大。
第4个回答 2008-09-14
double有问题,建议你最好用float.
1
2
下一页
相似回答
javafloat和double的区别
答:
float是单精度类型
,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间 double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间 当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其...
java
float和double的区别
答:
对编程人员来说,
double 和 float 的区别是double精度高,有效数字16位,float精度7位
。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
java中float和double的区别
答:
对编程人员来说,
double 和 float 的区别是double精度高,有效数字16位,float精度7位
。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
java中double和float的区别
答:
它们占的字节数不一样
。float点四字节,32位,用了23位来表示有效位,转成十进制数就是六到七位有效位,即最高位非0开始,精度在六位数的可以证它是正确的,第七位数小一点在23位二进制的表示范围内也能保证正确,超过这七位数的,不保证它正确。double点八字节,64bit,用52bit表示尾数,转成十...
大家正在搜
double float区别
float和int的区别
strlen和sizeof的区别
varchar和char的区别
double与float
double在c语言中是什么意思
double数据类型
double类型
double精度
相关问题
JAVA中float和double的区别?
java中float和double的区别
在java中double型和float常量有什么区别啊
JAVA中float与double的区别
javafloat和double的区别
java中double和float有什么区别,为什么我定义f...
java float和double的区别
java中double和float的区别