1. 浮点数智能进行加减乘除计算,不能做位运算和移位运算。

2. 浮点数常常无法精确表示,因此,浮点数运算常常会产生误差甚至是错误!!!

    例如:

* 0.1在计算机中无法精确表示,即float和double都只能存储0.1的近似值;
* 0.5可以精确表示。 public class TestFloatCal { public static void main(String[]
args){ double x = 1.0/10; //0.1 double y = 1- 9.0/10;
//计算时,0.9的二进制表示不精确性导致1-0.9≠0.1 double z = 1- 9/10;
//计算时,等号右边是以整型计算的,故结果是1的double表示1.0 System.out.println("x="+x);
System.out.println("y="+y); System.out.println("z="+z); } }
   输出:

3. 判断两个浮点数是否相等的方法:判断两数之差的绝对值是否小于一个很小的数。

    举例:
public class TestFloatEqual { public static void main(String[] args){ double x
= 0.1; double y = 1.0 - 9.0/10; double r = Math.abs(x-y); boolean isEqual =
false; if (r<0.00001){ isEqual = true; } System.out.println(isEqual); } }
    输出:

 4. 溢出:浮点数运算在除数为0时不会报错(与整数运算不同),但会返回几个特殊值:

* NaN:Not a Number
* Infinity:表示无穷大
* -Infinity:表示负无穷大
    举例:(VScode输出并非上述结果)
public class TestOverFlow { public static void main(String[] args){ double x =
0/0; double y = 1.0/0; double z = -1.0/0; System.out.println("x="+x);
System.out.println("y="+y); System.out.println("z="+z); } }
    输出:

 5. 强制转型:浮点数可强制转换为整型,句法:(int)(number)

* 转型时,浮点数的小数部分直接被丢弃;
* 转型后,如超过制定整型能表示的最大范围,则返回整型的最大值;
* 如需要按四舍五入转型,可对浮点数加上0.5再强制转型。
    举例:
public class TestFloatToInt { public static void main(String[] args){ double d
= 2.6; int m = (int)(d); //取整 int n = (int)(d+0.5); //四舍五入
System.out.println("直接转型为:"+m); System.out.println("四舍五入为:"+n); } }
   输出:

 

技术
©2019-2020 Toolsou All rights reserved,
大一上c语言学生管理系统(下)年底了,不要跳槽。字节跳动测试工程师凉经分享教你用Python画一棵圣诞树用C实现圣诞树python 使用turtle 画樱花(python3验证ok)win10系统的计算机C盘在哪,c盘users在哪(win10c盘找不到users)计算机发展史上最著名的两位鼻祖HDFS主要组件(数据块、NameNode、DataNode、secondaryNameNode)python 指定时间运行代码