首页 > 其他 > 详细

浮点型

时间:2021-07-19 22:40:56      阅读:28      评论:0      收藏:0      [点我收藏+]

floatdetail.java

单精度 float  4byte

双精度 double  8byte

浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位

尾数位会丢失,造成精度损失(小数都是近似值)。

java的浮点型常量默认为double类型,如果要声明float类型,须后面加f或者F

浮点型有两种表示形式:

十进制数形式:5.12,  512.0f,  .512(小数点前的0可以省略)

科学计数法形式:5.12e2(5.12*10的2次方),5.12e-2(5.12*10的-2次方)

通常情况下,使用double型

比如,double num1=2.1234567891;

   float num2    =2.1234567891f;

输出num1和num2;

输出结果:num1=2.1234567891

       num2 =2.1234567

可以看到double型更精确。

浮点数使用陷阱:2.7和8.1/3比较,两者不相等。在数学上显然是相等的,但在计算机中,后者会造成精度损失,两者不相等。

所以当我们对运算结果是小数时进行判断,要小心。i

比如 num3=2.7;

  num4=8.1/3;

if(num3==num4)

System.out.println(“相等”);  -----很显然在计算机中这是不对的,什么也不会输出。

那么如何判断呢?  应该以两个数相差的绝对值,在某个精度范围内来判断。

比如 if(Math.abs(num3-num4)<0.000001)

System.out.println(“当差值非常小,到我的规定精度,认为相等”);

 

浮点型

原文:https://www.cnblogs.com/xiaobaizhengzainulixuexi/p/15031699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!