基本数据类型中的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只能提供6位有效数字,一般来说绝对6位,可能7为应该是6~7位。

double可提供16位有效数字。
6、在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

关于float和double之间的转换问题如下:
JAVA中float为四个字节,double为八个字节,float—>double时候会补位,如果这里补位不出现误差的话应该可以实现。
你先将float类型数据包装成BigDecimal数据,然后调用其floatValue()方法可以实现。可以参考:
Java中float和double转换的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值