java中的NAN和INFINITY】的更多相关文章

java浮点数运算中有两个特殊的情况:NAN.INFINITY. 1.INFINITY: 在浮点数运算时,有时我们会遇到除数为0的情况,那java是如何解决的呢? 我们知道,在整型运算中,除数是不能为0的,否则直接运行异常.但是在浮点数运算中,引入了无限这个概念,我们来看一下Double和Float中的定义. Double: public static final double POSITIVE_INFINITY = 1.0 / 0.0; public static final double N…
学过javaScript的应该都知道,在js中的数值型number类型中有几个特殊的数,一个正无穷大.一个负无穷大.一个不是一个数NaN. 后来无意中发现java中也有这三个数,不过这三个数是浮点数,不是整数.只有在浮点数中这这三个数才成立.看图分析: 正无穷 infinity: 负无穷 -infinity: 不是一个数NaN:…
一.  关于浮点运算,需要说明的几点: 1.  在java中,进行浮点运算并不会处理例外情况,所以,即使除数为0,也不会有例外被抛出; 2.  当运算结果是溢出(Infinity)时,结果为Infinity;下溢时,则结果为0:若结果是数学上是未定义的,则结果为NaN(not a number); 3.  所有和NaN有关的运算其结果总是NaN; 4.  由于NaN是无序的,所以,和NaN进行数值比较时,其结果总是false. 二.  例子: public class floattest { p…
java中的数字类型包括 Byte,Short,Integer,Long,Float,Double.其中前四个是整数,后两个是浮点数. 在说java中数字类型之前先来看看它们统一的基类Number. package java.lang; public abstract class Number implements java.io.Serializable { public abstract int intValue(); public abstract long longValue(); pu…
一.基本类型介绍 关键字 数据类型 占用字节数 取值范围 默认值 byte 字节型 1个字节 -128~127 0 char 字符型 2个字节 Unicode0~Unicode215-1 \u0000 short 短整型 2个字节 -215~215-1 0 int 整型 4个字节 -231~231-1 0 long 长整型 8个字节 -263~263-1 0 float 单精度浮点数 4个字节 -2128~2128 0.0 double 双精度浮点数 8个字节 -21024~21024 0.0…
Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法,比如,简单点的,float四个字节,前两个字节表示整数位,后两个字节表示小数位(这就是一种规则标准),这样就组成一个浮点数.而Java中浮点数采用的是IEEE 754标准. IEEE 754 这里就不细说什么是IEEE 754了,就直接讲具体内容,有兴趣的可以自己百度. fl…
为什么要使用 bigdecimal? 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale…
问题的提出:如果我们编译运行下面这个程序会看到什么? public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println("BigDecimal:"+new BigDecimal(Double.toString(4.015)).multiply(new B…
1,  变量 Java是强类型语言, 对于每一种数据都定义了类型,基本数据类型分为数值型,字符型,布尔型.数值型又分为了整型和浮点型. 整型又分为byte, int, short long. 浮点型又分为了float 和double. 字符型是char 类型, 一般不用. 布尔型是boolean, 取值为 true 和 false. 由于强类型,java在声明变量的时候,必须指定数据类型.Type variable, 比如int num; 当这个变量进行赋值的时候,也必须是相同的数据类型, 必须…
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组: 数据类型:4 种整形,2种浮点型,1种字符类型 字符类型:char "A"表示含有A的字符串,其末尾含有字符串结束符,'A'则表示单个A字符 特殊字符需要转义,如: 转义序列 名称 Unicode值 \b 退格 \u0008 \t 制表 \u0009 \n 换行…