文档章节

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

young_chen
 young_chen
发布于 06/23 23:23
字数 548
阅读 8
收藏 0
点赞 0
评论 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
高空间利用率的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
《JavaScript权威指南》笔记(一)

《JavaScript权威指南》真是名符其实的好书!真遗憾初学JavaScript时没有立即读这本书,甚为遗憾。不过小有经验之后读来更是有如醍醐灌顶一般,许多之前遇到的奇怪问题和读不懂的代码都迎刃而...

小微
2012/08/28
0
1
Java核心技术卷1 重读经典小记

Java基础 java中的int类型固定为32位 三个特殊的浮点值:正无穷大(),负无穷大()和NaN()。 在java中,char类型用UTF-16编码描述一个代码单元.不建议在程序中使用char类型. boolean类型的f...

java_龙
02/27
0
0
【EhCache】Java缓存框架使用EhCache结合Spring AOP

一.Ehcache简介 EhCache是一个纯Java的进程内缓存框架,具有如下特点: 1. 快速简单,非常容易和应用集成。 2.支持多种缓存策略 。 3. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 。...

磊神Ray
2012/08/07
0
7
JavaScript基础(二)变量

变量 变量的声明和初始化 命名规则(驼峰命名) 变量命名必须以字母或是下标符号”_”或者”$”为开头。 变量名长度不能超过255个字符。 变量名中不允许使用空格,首个字不能为数字。 不用使...

fengdaoting
05/03
0
0
javascript中的那些让人摸不着头脑的不=

今个咱来盘点盘点javascript中那些让人摸不着头脑的不等; 本篇博客略偏学术性研究形式了;除了浮点数运算常见写;其他的在实际开发中并不多么实用; 一:首先上场的是NaN: NaN在js中是一个...

白俊遥
2016/05/14
13
0
  python cookbook 3 数字 日期 时间(2)

5.字节到大整数的转换 #拥有128位长的16个元素的字节字符串。>>> data = b'x00x124Vx00xx90xabx00xcdxefx01x00#x004'>>> len(data)16将bytes解析为整数,使用 int.from_bytes() 方法 仅使用与......

xiaoanyunfei
2015/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
10分钟前
0
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
24分钟前
0
0
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
35分钟前
0
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
41分钟前
0
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
56分钟前
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
今天
0
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
今天
0
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
今天
0
0
安装tensorflow-XXX报错

报错: tensorflow-0.5.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform. 解决: wget https://bootstrap.pypa.io/get-pip.py sudo python2.7 get-pip.py sudo p......

Yao--靠自己
今天
0
0
JVM学习手册(一):JVM模型

一直从事JAVA开发,天天和JVM打交道,仔细想想对JVM还真的不是特别了解,实在是不应该.周六看了许多资料,也算有点心得,记录一下。 JVM内存模型分为5个区域:方法区,堆,虚拟机栈,本地方法栈,程序计...

勤奋的蚂蚁
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部