float与double类型的四种特殊的数值

float与double类型的四种特殊的数值

关键字: float, double, 特殊数值

floatdouble类型可以用来表示四种特殊的数值:正无穷大,负无穷大,,NaN.

当浮点数的计算结果超出floatdouble所能表示的范围时,就会出现无穷大的数值.

当浮点数的计算结果小于floatdouble所能表示的范围时,就会出现零值.java浮点类型有所谓的正零与负零的差别.实际上,正零与负零的运作方式非常相似.最后一个特别的浮点值就是NaN.它代表的是非数字”.当进行不合法的浮点数运算时,:0.0/0.0这种情况下,就会出现NaN的结果.

:

    double a = 1.0/0;               //正无穷大

    double b = -1/0.0;              //负无穷大

    double c = -1/a;                //负零

    double d = 1.0/a;               //正零

    double l = -1/b;                //正零 

    double e = 0.0/0.0;             //NaN

    double f = a + b;               //NaN

    boolean g = Double.isNaN(e);    //true

    boolean h = Double.isNaN(d);    //false

    double j = a+1;                 //正无穷大

    double k = b-1;                 //负无穷大

   

浮点数的无穷大值的运作方式正如你所预期的,对任何无穷大的值做加减法都还是无穷大的值.负零的运作方式和正零的运作方式几乎是相同的.而事实上,运算符”==”会告诉你正零和负零是相同的.有一个方式可以区分正零与负零:当你将1.0除以正零时,你则会得到正无穷大的值.但若你将1.0除以负零时,你则会得到负无穷大的值.最后,因为NaN是一个非数字值,所以运算符”==”告诉我们它无法等于任何其他数字,包括它自己在内.若要检查

Floatdouble值是否为NaN,你必须使用Float.isNaN()Double.isNaN();

测试代码 复制代码
原文地址:https://www.cnblogs.com/mokliu/p/2138920.html