您的位置:首页 > 其它

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

2009-08-09 21:23 260 查看

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

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

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

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

当浮点数的计算结果小于float与double所能表示的范围时,就会出现零值.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是一个非数字值,所以运算符”==”告诉我们它无法等于任何其他数字,包括它自己在内.若要检查

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

测试代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: