浮点类型及使用细节

单精度float

双精度double

浮点数再机器中存放形式简单说明,浮点数 = 符号位 + 指数位 + 尾数位

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

 

1、java浮点类型有固定的范围和字段长度,不受具体os影响

2、java浮点型常量默认为double型,声明float型常量,须后加“f”或“F”

3、浮点型常量有两种表示形式   十进制数形式:如5.12   512.0f    .512(必须有小数点)   科学计数法形式:5.12e2(5.12*10的2次方    5.12e-2(5.12/10的2次方)

4、通常情况下,应该使用double类型,因为它比float更精确 如 double num1 = 2.1234567851;  float num2 = 2.1234567851F;

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

double num1 = 2.7 ;

double num2 = 8.1 / 3 ;

当我们对运算结果是小数的,进行相等判断是,要小心,应该是以两个数的差值的绝对值,在某个精度范围内判断

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

 

posted @   bottomgg  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示