概述
Java完全兼容IEEE 754吧?但我对java如何决定浮点加法和减法的符号感到困惑.
这是我的测试结果:
double a = -1.5;
double b = 0.0;
double c = -0.0;
System.out.println(b * a); //-0.0
System.out.println(c * a); //0.0
System.out.println(b + b); //0.0
System.out.println(c + b); //0.0
System.out.println(b + c); //0.0
System.out.println(b - c); //0.0
System.out.println(c - b); //-0.0
System.out.println(c + c); //-0.0
我认为在乘法和除法中,符号决定如下:符号(a)xor符号(b),
但我想知道为什么0.0 -0.0 = 0.0,Java如何决定加入和减法的标志?它是在IEEE 754中描述的吗?
此外,我发现Java可以某种方式区分0.0和-0.0之间的相似性,因为
System.out.println(c == b); //true
System.out.println(b == c); //true
java中的“==”如何工作?
它被视为特例吗?
最后
以上就是清秀龙猫为你收集整理的java的-0和0_Java中的0.0和-0.0(IEEE 754)的全部内容,希望文章能够帮你解决java的-0和0_Java中的0.0和-0.0(IEEE 754)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复