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();
测试代码
相关文章推荐
- float与double类型的四种特殊的数值
- C/C++中int/long/float/double数值类型与字符串互相
- ios开发求数值的double、float、int类型值的绝对值的函数
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- Gson教程十二(译):Float和Double类型的特殊值
- MySQL数值类型——FLOAT、DOUBLE和DECIMAL类型
- java 基本数值类型:byte short int long float double char
- C/C++中int/long/float/double数值类型与字符串互相转换
- FLOAT或DOUBLE列与具有数值类型的数值进行比较 问题
- String类型与数值型(int,float,double等)转换
- Java中,既然double类型比float类型,表示的数值范围更大,大家都用double类型不就行了,Java还发明float类型干什么?因为占内存少于double,其他没有任何优势了
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- 浅谈python 四种数值类型(int,long,float,complex)
- C/C++中int/long/float/double数值类型与字符串互相转换[总结]
- C/C++中int/long/float/double数值类型与字符串互相转换
- c语言中计算int,float,double,char四种数据类型所能表示的数据范围
- double,float,BigDecimal类型数值的操作
- python 四种数值类型(int,long,float,complex)介绍
- C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围