3.8 浮点类型

本文介绍了浮点型数据在计算机中的存储结构,指出尾数位可能造成的精度损失,讲解了Java中float和double类型的范围、表示形式,以及为何通常优先选择double。还提到了浮点数比较时可能出现的问题,如2.7和8.1/3的比较陷阱。
摘要由CSDN通过智能技术生成
浮点型的分类
类型占用存储空间范围
单精度float4字节-3.403E38~3.403E38
双精度double8字节-1.798E308~1.798E308

说明:

1)关于浮点数在机器中存放形式:浮点数=符号位—+指数位+尾数位

2)尾数位部分可能丢失,造成精度损失

使用细节

1、与证书类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。【float4个字节 double 8个字节】

2、Java的浮点型常量(具体值)默认为double型,声明float型的常量,须后加‘f’或‘F’

3、浮点型常量有两种表示形式

十进制:如5.12 521.0f .512 (必须有小数点)

科学计数法:如5.12e2【5.12*10^2】5.12e-2     【5.12/(10^2)】

4、通常情况下,应该使用double型,因为它比float型更精确。

5、浮点数使用陷阱: 2.7和8.1/3的比较

double num1 = 2.7;

double num2 = 8.1/3;

if(Math.abs(num1-num2)<0.00001)

{System.out.println("相等");

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值