上文:Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity

给大家提到一个小的知识点,即浮点数的0,它有正负之分

作为分母不会产生java.lang.ArithmeticException: / by zero,而是得到正负无穷大,

说明

至于为什么,这是IEEE 754标准定义的,→标准传送门

在《Java虚拟机规范.Java SE 8版》第二章第三节有如下描述

那我就好奇了,你说正无穷+负无穷应该等于多少,会是零吗?

代码

    public static void main(String[] args) {float f1 = 1f;float f2 = 0.0f;float f3 = -0.0f;float res = (f1/f3+f1/f2);System.out.println(" f2 == f3 is "+(f2==f3));// trueSystem.out.println(" f1 / f2 = "+f1/f2);//  Infinity 无穷大System.out.println(" f1 / f3 = "+f1/f3);// -Infinity 负无穷小/*** 负无穷+正无穷 = NaN (即无效的运算操作)*/System.out.println("(f1 / f3)+(f1 / f2) = "+ res);// NaN/*** ”我“不是”我“*/System.out.println(" res == res is "+(res==res));// false}

实验结果表明,java 虚拟机认为我太无聊了,懒得搭理我,直接返回了个NaN

NaN的全称是Not-a-Number,它是IEEE标准定义的一个特殊的“非数字”标识,用来表示某些无效的运算操作,例如0除0等情况,→标准传送门

而且它还是java中唯一一个“我”不是“我”的“数据”,狠起来不止是六亲不认,连自己都不认

在书中是这样描述的

总结:

  • 浮点类型中,负零等于正零
  • 1除以正零得到正无穷大 1除以负零得到负无穷小
  • 正无穷大+负无穷小 = NaN,意思是不允许这么操作
  • NaN和任何数比较都返回false,包括自己;不仅六亲不认,自己也不认

别问为什么,问就去看IEEE 754标准→标准传送门

java中的“我”不是“我”,NaN特殊标识以及正无穷+负无穷应该等于多少?相关推荐

  1. c语言 判断float无穷大,C++ 浮点数(double float)如何定义NaN 正无穷 负无穷,以及如何判断是否是NaN...

    NaN :阶码的每个二进制位全为1  并且  尾数不为0: 无穷:阶码的每个二进制位全为1  并且  尾数为0:符号位为0,是正无穷,符号位为1是负无穷. 所以NaN.正无穷.负无穷可以如此定义,可以 ...

  2. matlab编程积分正无穷,matlab中,对1/(x+10^-6i)积分,积分区间是负无穷到正无穷,怎么积?...

    满意答案 沁心静暖 2016.05.19 采纳率:50%    等级:12 已帮助:4049人 积分很简单,所以先手算出积分,再正负无穷带进去让matlab算 -------------------- ...

  3. Java中的反射(Reflection)为什么叫“反射”?什么是“正射”?如何自定义注解并解析?

    文章目录 反射的定义 什么是"正射" 反射的作用 反射的定义 计算机科学中的反射(reflection) 指计算机程序在运行时(runtime) 可以访问.检测和修改它本身状态或行 ...

  4. c#获取对象的唯一标识_在 Java 中利用 redis 实现分布式全局唯一标识服务

    作者: 杨高超 juejin.im/post/5a4984265188252b145b643e 获取全局唯一标识的方法介绍 在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求.在以前的单体应用 ...

  5. java中的NAN和INFINITY

    2019独角兽企业重金招聘Python工程师标准>>> java浮点数运算中有两个特殊的情况:NAN.INFINITY. 1.INFINITY: 在浮点数运算时,有时我们会遇到除数为 ...

  6. Java中遭遇NaN

    虽然几乎每种处理器和编程语言都支持浮点运算,但大多数程序员很少注意它.这容易理解 ,我们中大多数很少需要使用非整数类型.除了科学计算和偶尔的计时测试或基准测试程序,其它情况下几乎都用不着它.同样,大多 ...

  7. Java中的NaN(非数)、Infinity(无穷大)

    直接上图: 为什么判断自己等于自己 结果还是 false? 先来说一下NaN 和 Infinity Java中提供了三个特殊的浮点数值:正无穷大.负无穷大.非数,用来表示溢出和出错.(只针对浮点数) ...

  8. java中 Nan是什么意思

    NaN,是Not a Number的缩写. NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根.由上面的表中可以看出,对于单精度浮点数,NaN 表示为指数为 emax ...

  9. 在java中nan什么意思_显示nan什么意思 程序计算结果显示NaN是什么原因

    java中NaN是什么意思 NaN,是Not a Number的缩写. NaN 用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者CSS布局HTML小编今天和大家分享负数的平方根.由上面的 ...

最新文章

  1. 安装JDK出现Windows Installer程序包有问题,此安装需要的DLL不能运行...
  2. factorybean 声明_阿里面试题:BeanFactory与FactoryBean的区别
  3. WINDOWS SERVER 2003 DHCP服务器全攻略
  4. Android 拍照、从相册选择图片
  5. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](4)
  6. 一个自动生成关键字索引页面的比处理文件
  7. Storm集群使用DRPC功能Version1.0.1
  8. 组态王opc_组态王和西门子S7300、S7400系列PLC通讯的几种配置方案
  9. SK海力士收购英特尔NAND闪存业务已获韩国公平贸易委员会批准
  10. mysql中更改字符集为utf8mysql中文输入不了问题解决
  11. 如何把pdf转换成word文档?
  12. Swift游戏实战-跑酷熊猫 08 产生源源不断的移动平台
  13. 解决linux 上网速度慢的问题
  14. 爬虫实例二:爬取拉勾网招聘信息
  15. 微信小程序:常用功能6——点击图片,实现图片的预览功能wx.previewImage(Object object, boolean showmenu)
  16. 你要的在这里,自己维护的石墨文档
  17. Three.js实现的网站页面金字塔模型显示
  18. python为字体添加上下标
  19. GATOR齿轮---凯利讯半导体
  20. 强化学习之 PPO 算法

热门文章

  1. WLAN框架应用笔记
  2. 在iPhone上实现标签云
  3. 苏宁Java开发面试
  4. 嵌入式驱动编写-点亮LED驱动程序
  5. 教程-mac版本texpad配置中文环境教程
  6. 遇到问题:(已解决)Texpad无法编译--“未找到TeX发型版 没有在您的系统中找到TeX发行版。....或安装您的TeX发行版”
  7. 在线PS入门教程:如何对人像快速抠图
  8. Kaggle Faster Data Science Education coursera
  9. 汽车UDS诊断详解及Vector相关工具链使用说明——6.2 VT System 入门
  10. [附源码]java毕业设计校园志愿者服务管理系统