Java中含有正无穷(Double.POSITIVE_INFINITY = 1.0 / 0.0)、负无穷(Double.NEGATIVE_INFINITY = -1.0 / 0.0)和非数字(Double.NaN = 0.0d / 0.0)的定义,这些定义都是Double类中的静态常量,如果在我们的一般的算术运算中加入了这些常量,那么算术的结果是否符合数学上的正确性呢?测试代码如下:
double a = Double.POSITIVE_INFINITY; System.out.println("a="+a); System.out.println("a+100.0=" + (a + 100.0)); System.out.println("a+Double.MAX_VALUE=" + (a + Double.MAX_VALUE)); System.out.println("a - Double.MAX_VALUE=" + (a - Double.MAX_VALUE)); System.out.println("-a=" + (-a)); System.out.println("a - a=" + (a - a)); System.out.println("NaN+100=" + (Double.NaN+100)); System.out.println("NaN==NaN="+(Double.NaN==Double.NaN)); System.out.println("NaN+Double.MAX_VALUE=" + (Double.NaN+Double.MAX_VALUE)); System.out.println("NaN<Double.MAX_VALUE="+(Double.NaN<Double.MAX_VALUE)); System.out.println("NaN>Double.MAX_VALUE="+(Double.NaN>Double.MAX_VALUE)); System.out.println("NaN==Double.MAX_VALUE="+(Double.NaN==Double.MAX_VALUE)); System.out.println("a == a=" + (a == a)); System.out.println("100 < a=" + (100 < a)); System.out.println("-a < 0=" + (-a < 0)); System.out.println("Double.MAX_VALUE < a=" + (Double.MAX_VALUE < a));
输出结果为:
a=Infinity a+100.0=Infinity a+Double.MAX_VALUE=Infinity a - Double.MAX_VALUE=Infinity -a=-Infinity a - a=NaN NaN+100=NaN NaN==NaN=false NaN+Double.MAX_VALUE=NaN NaN<Double.MAX_VALUE=false NaN>Double.MAX_VALUE=false NaN==Double.MAX_VALUE=false a == a=true 100 < a=true -a < 0=true Double.MAX_VALUE < a=true
结论:
(1)正无穷和负无穷仍然保持数学上的定义;
(2)NaN是非数字,参与算术运算都为NaN,与其他数字比较结果都为false(包括自己)。
相关推荐
matlab从负无穷到正无穷的积分.docx
1-5无穷大与无穷小、极限运算法则.ppt
论文研究-节域为负无穷区间和全体实数域的初等关联函数构造.pdf, 关联函数是可拓集合的核心, 它的构造方法是可拓学的重要研究内容. 在定义点与负无穷区间和点与全体实数...
在这个简单的例程“poly_roots.m”中,除了 MATLAB 内置函数“roots.m”之外,所有需要的计算都只涉及简单的基本算术运算(例如作为加法、减法、乘法、除法和整数指数),无需应用任何高等数学。 唯一的例程“roots...
Java web 写的第一个博客,供大家一起共同分享学习。
本算法是利用Hilbert—高斯积分的方法实现的,很好用,欢迎大家下载
无限的在普通 lisp 中以标准、实现独立的方式支持无穷大和 nan 值。 基本上,这将 +/- 无穷大和 nan 的常量定义为关键字和一些辅助函数。 我选择不在支持它的实现上使用 IEEE 特殊值,因为它不一致。 但是,在支持 ...
无穷小与无穷大及四则运算PPT教案.pptx
无穷嵌套矩阵运算在Matlab中的实现.pdf
正无穷 numpy中的nan和inf都是float类型 t!=t 返回bool类型的数组(矩阵) np.count_nonzero() 返回的是数组中的非0元素个数;true的个数。 np.isnan() 返回bool类型的数组。 那么问题来了,在一组数据中单纯的把nan...
资源结合Java图形化界面设计技术知识和java开发基础知识,向我们展示了java开发的无穷魅力 资源结合Java图形化界面设计技术知识和java开发基础知识,向我们展示了java开发的无穷魅力 资源结合Java图形化界面设计技术...
在这个连载中,我将为你介绍Java编程技术,以及Java程序的开发方法,从零开始,循序渐进,希望能够让你亲自品味Java这种咖啡的香醇与浓郁。 如果说看完这个连载你便能全面掌握Java技术,我绝不敢打这样的保票。喝再...
4-5 无穷大与无穷小 极限运算法则.ppt
无穷大与无穷小极限运算法则PPT学习教案.pptx
(C/C++/Java默认的除法就是向0取整,python默认的是向负无穷取整。) 例如计算 100 * ( 2 + 12 ) - (20 / 3) * 2, 结果是1388。 输入 一个长度不超过100的字符串,代表要计算的算式。包含数字0-9以及+-*/()。 输入...
无穷小无穷大极限运算法则.ppt
该库的设计遵循最新的Lua整数语义,这意味着整数溢出会扭曲,有符号整数是使用双补码算术规则实现的,整数除法运算朝负无穷大舍入,任何带有浮点数的混合运算都会将值提升为浮点数,并且通常的除法/电源操作始终会...
4-5 无穷大与无穷小 极限运算法则.ppt.ppt
D1-4-5 无穷大与无穷小 极限运算法则.ppt
无穷小与无穷大和极限运算法则.doc