1.float是什么数据类型float:浮点型 , 含字节数为4,32bit , 数值范围为-3.4E38~3.4E38(7个有效位)
double:双精度实型 , 含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
按存储的范围进行排序
float(real)
double
数值存储范围越小的精度越高 , 存储数值范围越大 , 精度就越不准确 , 如果存储正常金额的情况下 , 使用money , 好处在于可以存储不指定的小数点位数的数值 , 比较真实 。
2.float和double类型的区别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位有效数字 。
参考资料来源:搜狗百科——浮点型数据
3.float类型可表示的范围为什么那么大首先你要知道float中第31位是符号位 , 接下来8位是指数位 , 最后23位是小数位 。其次你要知道指数部分是加上127移码存储的 。下面进行具体计算 , 小数部分能表示的最大值是1+1/2+1/4+1/8+……=2 , 指数部分的表示范围是0到255 , 减去127之后就是 -127到128 其中-127和128保留其他用途 , 实际范围就是-126到127 。最终结果就是2*2^127 = 3.4*10^38 。再加上符号位就是-3.4*10^38到+3.4*10^38 。
没想到五年之后会有人回答你的问题吧?还是自己一个字一个字敲的答案 。
4.Java float数据类型与表示整数的整型不同 , 浮点型代表的是实数 , 其实就是包含小数的部分 。我们也知道现实世界中是由很多复杂的数据的 , 所以需要这种表示实数的数据类型的支持 。
一、浮点型常量
Java的实常数有两种表示形式:
1.十进制数形式 , 由数字和小数点组成 , 且必须有小数点 , 如0.123, .123, 123. ,123.0。
2.科学计数法形式 。如:123e3或123E3 , 其中e或E之前必须有数字 , 且e或E后面的指数必须为整数 。
实常数在机器中占64位 , 具有double型的值 。对于float型的值 , 则要在数字后加f或F , 如12.3F , 它在机器中占32位 , 且表示精度较低 。
【float类型怎么写】二、浮点型变量
浮点型变量的类型有float和double两种 。
数据类型所占位数的范围:
float 32位 3.4e-038~3.4e+038 ;
double 64位 1.7e-308~1.7e+308 ;
双精度类型double比单精度类型float具有更高的精度 , 和更大的表示范围 , 常常用于科学计算等高精度场合 。
三、浮点型变量定义举例
float f; //指定变量f为float型
double d; //指定变量d为double型
与C、C++不同 , Java中没有无符号型整数 , 而且明确规定了整型和浮点型数据所占的内存字节数 , 这样就保证了安全性、鲁棒性和平台无关性 。
5.c语言float和double类型分别是什么样的,大神能给举个例子不double 和 float 的区别是double精度高 , 有效数字16位 , float精度7位 。但double消耗内存是float的两倍 , double的运算速度比float慢得多 , C语言中数学函数名称double 和 float不同 , 不要写错 , 能用单精度时不要用双精度(以省内存 , 加快运算速度) 。