文档章节

Java正无穷大、负无穷大以及NaN

young_chen
 young_chen
发布于 06/23 23:23
字数 548
阅读 20
收藏 0

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。

思考:为什么会出现这种情况呢?这是哪里的问题啊;

解决:根据一些博客上的分析,出现的原因是除法的除数为0,打印出用到的变量值,看到时间间隔变量是0,溯源到sql查询的结果,sql是用的时间函数再运算的结果,提取出来运行,源数据相同 ,作减法肯定是0了,再看一下数据库中的数据列,全是一样的情况,但是实际上不应该是相同的时间,所以,开始时间和结束时间在插入的时候就有问题了,所以判断不是我的问题,啊哈哈哈啊哈哈。

知识扩展:

在java语言中,提供了三个特殊的浮点数值:正无穷大、负无穷大和非数(NaN),功能是表示溢出和出错。

无穷大:一个正数除以0.0或一个负数除以0.0将得到一个正无穷大或负无穷数(Infinity)。

非数:0.0除以0.0或着负数开方将得到一个非数(NaN(“不是一个数字(Not a Number)”的缩写))。

用法:

任何浮点操作,只要它的一个或多个操作数为NaN,那么其结果为NaN。

NaN是非数字,参与算术运算都为NaN,与其他数字比较结果都为false(包括自己)。

正无穷和负无穷仍然保持数学上的定义。

double i = 1.0 / 0;                  
System.out.println(i);             //Infinity  
System.out.println(i + 1);         //Infinity  
System.out.println(i == i + 1);    //true  
  
i = 0.0 / 0;  
System.out.println(i);             //NaN  
System.out.println(i + 1);         //NaN  
System.out.println(i == i + 1);    //false  

 

© 著作权归作者所有

共有 人打赏支持
young_chen
粉丝 0
博文 19
码字总数 8007
作品 0
南京
程序员
AS3 基本数据类型 primitive data type

int(带符号,32位整型,-2147483648~2147483647), uint(无符号,32位整型,0~2147483647), Number(64位,双精度浮点型,-1.79e+308~-5e-324,0,5e-324~1.79e+308), String(UTF-16,Unicode), Boolea......

smilethat
2012/03/05
0
0
javascript / js数据类型,数据类型转换

1)基本类型 ---数字,采用IEEE754标准定义的64位浮点格式. 特殊数值常量: Infinity 无穷大的特殊值 NaN 非数字值 Number.MAXVALUE 可表示的最大数字 Number.MINVALUE 可表示的最小数字 Number...

晨曦之光
2012/03/09
0
0
02-《深度拆解Java虚拟机》之Java的基本类型

一、问题引入 如果你了解面向对象语言的发展史,那你可能听说过 Smalltalk 这门语言。它的影响力之大,以至于之后诞生的面向对象语言,或多或少都借鉴了它的设计和实现。在 Smalltalk 中,所...

飞鱼说编程
09/11
0
0
高空间利用率的Tagged Pointer的浮点数表示

IEEE754 的双精度浮点数定义 最高位: 符号 中11位:指数,当它所有位为1时标识无穷大android EditText使用指南 低52位:小数 无穷大有2^53个!实际使用时只需要正无穷和负无穷,多出的2^53-...

墙头草
2011/06/01
0
0
书薄记--JavaSctipt高级程序设计章三(基本概念)

语法 区分大小写 标识符:以 字母, ,$开头,其它字符可以是字母,,美元符号或数字。 命名方式:推荐驼峰大小写方式。 注释:// 单行 / 多行 / 语句:类C 关键字: break else new var c...

大东哥
2011/09/25
0
1

没有更多内容

加载失败,请刷新页面

加载更多

win32截屏并rgb24转yuv420

//最终f的内存布局为BGRA格式,需要保证buf长度足够(>w*h*4)void ScreenCap(void* buf, int w, int h){ HWND hDesk = GetDesktopWindow(); HDC hScreen = GetDC(hDesk); ......

styleman
46分钟前
1
0
php输出mysql取出的中文为??的问题

解决方法: @ $db=new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_DB); $db->query("set names utf8");//添加此语句,可以解决问题...

Aomo
57分钟前
1
2
白话SpringCloud | 第五章:服务容错保护(Hystrix)

前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网...

oKong
今天
2
0
【解惑】领略Java内部类的“内部”

内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中...

偶尔诗文
今天
1
0
sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部