java怎么表示正无穷大_java中怎样表示一个无穷大? 无穷小?

Java中提供了三个特殊的浮点数值:正无穷大、负无穷大、非数,用于表示溢出和出错。

正无穷大:用一个正数除以0将得到一个正无穷大,通过Double或Float的POSITIVE_INFINITY表示。

负无穷大:用一个负数除以0将得到一个负无穷大,通过Double或Float的NEGATIVE_INFINITY表示。

非数:0.0除以0.0或对一个负数开放将得到一个非数,通过Double或Float的NaN表示。

可以点开jdk源码,看看java都是如何表示的:

/**

* The {@code Double} class wraps a value of the primitive type

* {@code double} in an object. An object of type

* {@code Double} contains a single field whose type is

* {@code double}.

*

*

In addition, this class provides several methods for converting a

* {@code double} to a {@code String} and a

* {@code String} to a {@code double}, as well as other

* constants and methods useful when dealing with a

* {@code double}.

*

* @author Lee Boynton

* @author Arthur van Hoff

* @author Joseph D. Darcy

* @since JDK1.0

*/

public final class Double extends Number implements Comparable {

/**

* A constant holding the positive infinity of type

* {@code double}. It is equal to the value returned by

* {@code Double.longBitsToDouble(0x7ff0000000000000L)}.

*/

public static final double POSITIVE_INFINITY = 1.0 / 0.0;

/**

* A constant holding the negative infinity of type

* {@code double}. It is equal to the value returned by

* {@code Double.longBitsToDouble(0xfff0000000000000L)}.

*/

public static final double NEGATIVE_INFINITY = -1.0 / 0.0;

/**

* A constant holding a Not-a-Number (NaN) value of type

* {@code double}. It is equivalent to the value returned by

* {@code Double.longBitsToDouble(0x7ff8000000000000L)}.

*/

public static final double NaN = 0.0d / 0.0;

...

}

(实际上在字节码里正无穷和负无穷还有NaN都有一个特定的值用来表示

0x7f800000表示正无穷

0xff800000表示负无穷

在0x7f800001~0x7fffffff 和 0xff80001~0xffffffff两个的范围内的值表示NaN.

)

所有的正无穷大的数值都是相等的,所有的负无穷大的数值都是相等;而NaN不与任何数值相等,甚至和NaN都不等。

举例

public class javaLesson5

{

public static void main(String[] args)

{

float af = 5.2325556f;

//下面将看到af的值已经发生改变,显示结果为5.2325554.

System.out.println(af);

double a = 0.0;

double c = Double.NEGATIVE_INFINITY;

float d = Float.NEGATIVE_INFINITY;

//将看到float和double的负无穷大是相等的。显示结果为:true。

System.out.println(c == d);

//0.0除以0.0将出现非数。显示结果为:NaN。

System.out.println(a / a);

//两个非数之间是不相等的。显示结果为:false。

System.out.println(a == Float.NaN);

//所有正无穷大都是相等的。显示结果为:true。

System.out.println(6.0 / 0 == 555.0/0);

//负数除以0.0将得到负无穷大。显示结果为:-Infinity

System.out.println(-8 / a);

//下面代码将抛出除以0的异常。

//System.out.pintln(0 / 0);

}

}

部分内容转自(http://blog.csdn.net/ml863606/article/details/50853555)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ng bind html 无效,angularjs中ng-bind-html的用法总结

本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块.(这个模块需要加载angular-sanitize.js插件)要学习这个服务,先要了解另一个指令: ng-bing-html.顾名思义,ng-bind-html和ng-bind的区别就是,ng-bind把值作为字符串,和元素的内容进行绑定,但是ng-bind-htm…

热门搜索怎么实现_三个步骤教你学会,搜索引擎霸屏技术!

做好SEO就要了解搜索引擎霸屏技术,它是在百度中搜索关键字来检索信息。整个画面的推荐都是你的内容。那么客户点击你的可能性就会增加!那么搜索引擎霸屏技术这么好,那要如何做到呢?1.要想成为霸屏,第一步要选择好的关键…

ethtool用法 linux_Linux命令之Ethtool用法详解

Linux/Unix命令之Ethtool描述:Ethtool是用于查询及设置网卡参数的命令。概要:ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息ethtool –d ethX //查询ethX…

html字体如何设置垂直居中显示,css文字水平垂直居中怎么设置?

css文字水平垂直居中怎么设置?下面本篇文章就来给大家介绍使用CSS设置文字水平居中和垂直居中的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1、文字水平居中在CSS中想要让文字水平居中,可以使用text-a…

python for循环例子_Python for循环生成列表的实例

Python for循环生成列表的实例 一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句: featList [example[i] for example in dataSet] classList [example[-1] for example in dataSet] 多方研究和询问,得到如下解释&#…

HTML5链接tcpUDP,UDP/TCP协议 网络调试工具源码(C#)

本代码包括了TCP和UDP的客户端和服务端,适合C#初学者学习、参考资源下载此资源下载价格为2D币,请先登录资源文件列表NetWork/NetWork.sln , 990NetWork/NetWork.v12.suo , 27648NetWork/NetWork/App.config , 187NetWork/NetWork/bin/Debug/NetWork.exe …

没有shell63号单元_ansys-SHELL单元

Q:用板壳元shell63单元建模时,如下图示,两个平面互相垂直,如何使这两个平面保持为一个整体来受力.因为实际结构中,比如一个由钢板焊成的箱梁,内有加劲隔板,如何模拟.由于这两个面没有公共边,用了粘贴及搭接都不行,试问怎样简单实现整体性这一目的.A:分网时控制单元长度&#xf…

element 登录_Python selenium自动化测试框架入门实战--登录测试案例

本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁。本文应用到POM模型、selenium、unittest框架、configparser配置文件、smtplib邮件发送、HTMLTestRunner测试报告模块结合登录案例实现简单自动化测试框架项目主要包括以下…

后处理安装_Mastercam2017(自定义后处理选项)安装!

我们用Mastercam2017编程的程序,需要用在不同的机床加工零件时,这时候我们也要选择适合不同机床认识的自动后处理文件来生成程序,当然系统默认是不能实现这一功能的,那么安装了自定义后处理选项插件,就能完全实现自定义…

项目一计算机基础知识考核题,2013计算机基础知识试题及答案

2013年10月《计算机基础》阶段测试自评成绩:一、单项选择题 (每小题2分)1.世界上第一台电子数字计算机取名为( )。A.UNIVACB.EDSACC.ENIACD.EDVAC2.个人计算机简称为PC 机,这种计算机属于( )。 A.微型计算机 B.小型计算机 C.超级计算机 D.巨型计算机3.目…

为什么redis取出来是null_[2020] Redis 最新面试题

Redis 的数据类型(数据结构)string (二进制安全,可以存储任意类型的数据)list(链表)字典(就是hashmap)set(不重复无序的hashmap)zset(…

的优先级大小_如何评估需求的优先级?

一、 需求的优先级怎么定义? 很多产品经理,包括我,一定都会遇到这样的场景:“ 需求堆如山,什么都想做 ”。面对各种各样、来自各个渠道的需求,产品经理的工作职责之一,就是梳理需求的优先级。我…

html5 drawimage 不显示,canvas的drawImage无法显示图像

window.οnlοadfunction(){var Canvasdocument.getElementById("canvas");var cxtCanvas.getContext("2d");var bgnew Image();//你指定了图片的地址,但是图片的加载是需要时间的bg.src"../img/2-14020314314A26.jpg";//执行完上面一…

html自动给图片加上水印 代码_如何给一千张图片去水印?还好我会python,100行代码轻松搞定...

写在前面近期好多网友私信我,问我编程该怎么学习、怎么入门。我觉得编程学习,就像写文章一样,需要积累。如果把代码每个字符拆开,大伙都认识,但是组合在一起,就是另外一回事了。所以我的建议是,…

html中两个图片叠放,CSS实现图片叠放(勾选图标)

场景我们经常会遇到这种场景,有一个待选图片列表,在图片上(可能是右上角也有可能时右下角)叠放一个勾选状态图标,这篇文章就记录实现这个功能的过程。原理利用flex布局space-around显示图片列表在图片的外层加一个div,同时把勾选状…

pyspark sparksession_PySpark 处理数据和数据建模

安装相关包from pyspark.sql import SparkSession from pyspark.sql.functions import udf, when, count, countDistinct from pyspark.sql.types import IntegerType,StringType from pyspark.ml.feature import OneHotEncoderEstimator, StringIndexer, VectorAssembler from…

html loader使用方法,webpack中loader的使用方法,以及几个常用loader的应用小实例

loader:是webpack用来预处理模块的,在一个模块被引入之前,会预先使用loader处理模块的内容。可能,你会遇到当你用webpack打包的时候,提示你需要一个loader来处理文件,那webpack中的loader就是帮助预处理下模…

linq查询不包含某个值的记录_MySQL行(记录)的详细操作

阅读目录一 介绍二 插入数据INSERT三 更新数据UPDATE四 删除数据DELETE五 查询数据SELECT六 权限管理一 介绍MySQL数据操作: DML在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入UPDATE实现数据的…

听课评课记录计算机应用,教师听课的评语(精选10篇)

教师听课的评语(精选10篇)通过引导学生提炼信息提出问题解决问题,使学生再次感受了数学与现实生活的密切联系,经历了运用乘法口诀求商的计算方法的形成过程,培养了学生对知识的迁移能力。下面是小编整理的教师听课的评语(精选10篇)&#xff0…

java音频实时传输_会议室智能系统建设方案,实时远程视频协作

2019年,预计会议协作需求将持续增长,创建多功能会议室促进本地、异地协作仍然是一个强大的趋势。无论空间大小或距离远近,政府部门、企业单位以及团体组织为了实现决策指令畅通、管理层次分明,需要通过对会议室环境、多功能会议系…