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)
java怎么表示正无穷大_java中怎样表示一个无穷大? 无穷小?相关推荐
- java怎么表示正无穷大_java中怎样表示一个无穷大?无穷小
展开全部 Java中提供了三个特殊636f70793231313335323631343130323136353331333361323638的浮点数值:正无穷大.负无穷大.非数,用于表示溢出和出错. ...
- java如何获取手机号码_java中如何提取一个字符串中的电话号码?
展开全部 java中如何提取一个字符串中的电话号码e68a84e8a2ad3231313335323631343130323136353331333363376466,先写出手机号码和固定号码的正则表 ...
- java判断线程结束_java中如何判断一个线程是否结束
我们可以通过调用thread.Join()方法,把要判断的线程加入到当前线程中,这样可以将两个交替执行的线程合并为顺序执行的线程.如果顺利执行,则说明该线程未结束. (视频教程推荐:java视频) 比 ...
- java socket 读取文件_Java中Socket下载一个文本文件
package com.lanqiao.demo2; import java.io.BufferedInputStream; import java.io.FileInputStream; impor ...
- java变量存储位置_java 中变量存储位置的区别
[原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...
- Java文件的状态_java中文件的状态
如何知道文件的状态,即应用程序是否被阻止且是否阻塞.在java中,如果有一个API,或者您可以使用Java IO. 谢谢. 解决方法: 如果您询问文件锁定,则以下示例来自Example Depot,显 ...
- java中将json字符串_Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
- java可以多重继承吗_Java中的多重继承与组合vs继承
java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...
- java中有没有栈_Java中堆和栈有什么区别
stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...
最新文章
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.11. 外部数据
- 字节、快手、阿里、腾讯这两年的广告推荐技术进展 | AICon
- Tensorflow的基本运行方式--demo程序
- C#调用python文件
- DOS批处理删除文本文件重复的行
- opencv读取摄像头实时流代码
- SQL null的学问
- win7 计算机游戏不见了怎么办,小编教你解决Win7系统下找不到自带小游戏的问题...
- 矩阵补全(Matrix Completion)和缺失值预处理
- Affinity Mattrix 亲和矩阵总结
- 【学术相关】博士开始内卷了吗?
- 面试知识总结(八股、网络、LINUX)
- MOS管当开关控制时,为什么一般用PMOS做上管NMOS做下管?
- Everything研究之快速获取USN记录的文件路径
- Excel 分组显示(COUNTIF 函数实现)
- element-ui——安装element-plus
- 微信分享域名防屏蔽 防微信拦截网址系统
- HTML几种设置水平居中和垂直居中的方式
- ZOJ--1005:Jugs(dfs)
- 自制微信机器人:群发消息、自动接收好友
热门文章
- 实战06_SSM整合ActiveMQ支持多种类型消息
- c语言gets和getchar区别,c语言中关于getchar()、getchar()和gets().......
- plink源码_plink: 等位型计数(allele count)
- mysql3错误_第3行MYSQL语法错误
- html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图
- 2021浙江高考宁波四中成绩查询,2021浙江高考成绩查询时间公布 几号能查分
- easyui-textbox锁定按钮不锁定_不放水了!湖人G5改穿曼巴球衣,热火输定了,詹姆斯提前锁定FMVP!...
- qt实现QLabel上显示的文字有描边
- C语言 typedef - C语言零基础入门教程
- 优秀自我简介200字_全球战疫 翰墨传情——东方盛世杯网络公益书画展优秀作品【二】...